• javaScript系列---【this详解及call和apply修改this指向】


    // this可以存储在任意位置,在不同位置代表不同对象.this表示执行函数时函数的拥有者.
    // this在全局下表示window
    // 普通函数中this表示window
    // 事件处理函数中this表示触发事件的元素
    // 在对象的方法中this表示对象本身
    // 在定时器中this表示window
    console.log(this); // window
    function fun () {
        console.log(this);
    }
    fun(); // window
    document.onclick = fun; // document
    var obj = {
        name: 'lilei',
        sayhi: fun
    }
    obj.sayhi(); // obj
    setInterval(fun, 1000); // window
      // this在不同位置表示不同对象, 可以使用call和apply修改this指向.
            function fun() {
                console.log(this);
            }
            fun(); // window
            var obj = { name: 'lilei', age: 18 };
    
            // 1.执行函数 2.修改函数内部的this指向
            fun.call(obj); // obj
            fun.apply(obj); // obj
    
            function sum(a, b) {
                console.log(this);
                console.log(a + b);
            }
            // 如果有参数, call直接罗列参数, apply需要把参数放进数组中
            sum(1, 2); // window 3
            sum.call(obj, 1, 2); // obj 3
            sum.apply(obj, [1, 2]); // obj 3
            sum.call(1, 2); // Numer{1}  NaN
            sum.apply([1, 2]); // [1, 2] NaN
    
            console.log(Math.max(1, 2, 3, 9, 8, 7)); // 9
            var arr = [1, 2, 3, 9, 8, 7];
            console.log(Math.max(arr)); // NaN
            console.log(Math.max.apply(this, arr)); // 9
        </script>
  • 相关阅读:
    centos 网络开启
    ubuntu server 服务器部署(二) mysql 安装配置手记
    ubuntu server 服务器部署(一) jdk 安装配置手记
    网络管理
    磁盘配额
    创建raid0
    创建raid5
    逻辑卷快照
    LVM(逻辑卷)
    1.计算机基础
  • 原文地址:https://www.cnblogs.com/chenhaiyun/p/14530805.html
Copyright © 2020-2023  润新知