zoukankan      html  css  js  c++  java
  • 【js】this问题

    demo1:

    var obj = {
        a: 10,
        b: () => {
            console.log(this.a); // undefined
            console.log(this); // Window {postMessage: ƒ, blur: ƒ, focus: ƒ, close: ƒ, frames: Window, …}
        },
        c: function () {
            console.log(this.a); // 10
            console.log(this); // {a: 10, b: ƒ, c: ƒ}
        }
    }
    obj.b();
    obj.c();

    箭头函数中的this 指的是上下文   ,c中的this值的是调用它的对象

    demo2:

    var length = 10;
    function fn(){
        console.log(this.length);   
    }
    
    var obj = {
        length:5,
        method:function(fn){
            fn();
            arguments[0]();
        }   
    
    }
    obj.method(fn,1);
    // 10 2

     demo3:

    var a = 10;
    var obj = {
        a:5,
        b:{
            fn:function(){
                console.log(this.a);
            }
        }
    }
    obj.b.fn();
    
    // undefined   

    this 指的是调用它的对象b

  • 相关阅读:
    ios录音
    ios 音乐播放
    ios程序播放音频文件
    ios摇一摇截屏代码
    加速计
    蓝牙4.0实现及原理
    物理仿真
    iOS 监听耳机变化
    删除缓存
    宏定义加参数
  • 原文地址:https://www.cnblogs.com/websmile/p/9805512.html
Copyright © 2011-2022 走看看