• JS高级


    JS高级

    一、函数高级

    • 闭包

    function outer() {
        var data = {}
        function inner() {
            return data;
        }
        return inner;
    }
    ​
    // 闭包目的:不允许提升变量作用域时,该函数的局部变量需要被其他函数使用
    // 闭包本质:函数的嵌套,内层函数称之为闭包
    // 闭包的解决案例:①影响局部变量的生命周期,持久化局部变量;②解决变量污染

    二、循环绑定

    .html文件
    <ul>
        <li>列表项</li>
        <li>列表项</li>
        <li>列表项</li>
    </ul>
    .js文件
    var lis = document.querySelector('li');
    for (var i = 0; i < lis.length; i++) {
        lis[i].onclick = function () {
            // 打印列表项的索引
            console.log(i);
        }
    }
    // 变量污染
    // 获取局部作用域解决
    // 闭包解决
    // 对象属性解决

    三、面向对象JS

    1、属性与方法

    var obj = {}; | var obj = new Object();
    // 属性
    obj.prop = "";
    // 方法
    obj.func = function () {}
    // 删除属性与方法
    delete obj.prop
    delete obj.func

    2、类字典结构使用

    • 结构

    var dict = {name: "zero", age: 18}
    • 拓展

    var dict = {"my-name": "zero", fn: function () {}, fun () {}}
    • 使用

    dict.name | dict["my-name"] | dict.fn()

    3、构造函数(ES5)

    function People(name, age) {
        this.name = name;
        this.age = age;
        this.eat = function () {
            return 'eat';
        }
    }

    4、类及继承(ES6)

    class People {
        // 构造器
        constructor (name, age) {
            this.name = name;
            this.age = age;
        }
        // 实例方法
        eat () {
            console.log('吃吃吃');
        }
        // 类方法
        static create () {
            console.log('诞生');
        }
    }
  • 相关阅读:
    带符号数的移位
    day03-Java语言基础之运算符
    day02Java语言基础数量部分
    day01Java概述
    交换机光口识别与连接问题
    wireshark怎么抓包
    Java中的语句
    构建主键批注的方法
    通过反射,获得数据库增删改查的sql语句的方法
    sql语句
  • 原文地址:https://www.cnblogs.com/wanlei/p/10165519.html
Copyright © 2020-2023  润新知