js一道判断this指向的题,求大神解答

var inner = 'window';

function say() {
    console.log(inner);
    console.log(this.inner);
}

var obj1 = (function() {
    var inner = '1-1';
    return {
        inner: '1-2',
        say: function() {
            console.log(inner);
            console.log(this.inner);
        }
    }
})();

var obj2 = (function() {
    var inner = '2-1';
    return {
        inner: '2-2',
        say: () => {
            console.log(inner);
            console.log(this.inner);
        }
    }
})();


say();      
obj1.say();
obj2.say();
obj1.say = say;
obj1.say();
obj1.say = obj2.say;
obj1.say();

#笔试题目#
全部评论
这个题内容非常丰富啊,以下内容可能有误 say();//window(访问全局inner) window(this 指向window)       obj1.say();//1-1(闭包) 1-2(this指向obj1) obj2.say(); // 2-1(闭包)  window(箭头函数没有函数上下文,this指向window) obj1.say = say;   obj1.say();  // window(全局inner不变) 1-2(this指向obj1了)  obj1.say = obj2.say; obj1.say();  //2-1(仍然是闭包)  window(this指向window)
1 回复 分享
发布于 2021-05-15 20:14
普通函数运行时确定,箭头函数编译时确定。谁调用就指向谁
点赞 回复 分享
发布于 2021-07-21 17:39

相关推荐

码农索隆:这种hr,建议全中国推广
点赞 评论 收藏
分享
屌丝逆袭咸鱼计划:心态摆好,man,晚点找早点找到最后都是为了提升自己好进正职,努力提升自己才是最关键的😤难道说现在找不到找的太晚了就炸了可以鸡鸡了吗😤早实习晚实习不都是为了以后多积累,大四学长有的秋招进的也不妨碍有的春招进,人生就这样
点赞 评论 收藏
分享
头顶尖尖的程序员:我也是面了三四次才放平心态的。准备好自我介绍,不一定要背熟,可以记事本写下来读。全程控制语速,所有问题都先思考几秒,不要急着答,不要打断面试官说话。
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-01 12:22
点赞 评论 收藏
分享
评论
3
9
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务