this指向的面试题

var b = {
    a: 23,
    c: 3,
    d: {
        a: 78,
        e: {
            a: 100,
            f: function () {
                console.log(this.a);
            }
        }
    }
}
var fn = b.d.e.f;
fn(); // undefined
b.d.e.f(); // 100
// 修改$对象里面的代码,使得以下代码运行正常
var $ = {
    fn:function(){
        console.log(1);
    },
    fn2:function(){
        console.log(2);
    }
}
$.fn().fn2();

// 答案:
var $ = {
    fn:function(){
        console.log(1);
        return this; // 返回this,可以继续调用函数
    },
    fn2:function(){
        console.log(2);
    }
}
$.fn().fn2();

猜你喜欢

转载自blog.csdn.net/weixin_42995876/article/details/88026961