关注
var obj={
foo: function () {
console.log(this);
}
};
obj.foo();//this指向obj-- 对象属性调用模式
(obj.foo=obj.foo)();//this指向window-- 函数调用模式
(obj.foo=obj.foo)返回的是函数体:
function () {
console.log(this);
}
(false||obj.foo)();//this指向window-- 同上
(function () {
var a= function () {
return 10;
};
window.a= function () {
return new a();
};
console.log(a());//输出10
})();
以上代码等价于
window.a= function () {
return new a();
};
(function () {
var a= function () {
return 10;
};
console.log(a());//输出10
})();
立即执行函数是一个作用域,window对象的a不影响立即执行内的函数调用
var a= function () {
return 10;
};
window.a= function () {
return new a();
};
console.log(a());
首先,第一个匿名函数表达式指定给变量a,然后又用window.a定义,那么前面的a就被覆盖了。所以此时上面一大串就是
window.a= function () {
return new a();
};
console.log(a());
当调用a时a(),a对象的实例化引起递归(这个不确定。。。。)
查看原帖
点赞 1
相关推荐
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 我的实习收获 #
30583次浏览 500人参与
# 如果有时光机,你最想去到哪个年纪? #
47147次浏览 800人参与
# 实习吐槽大会 #
32508次浏览 158人参与
# 非技术岗简历怎么写 #
209797次浏览 2861人参与
# 晒一晒你的工位 #
85832次浏览 304人参与
# 26届秋招投递记录 #
3853次浏览 106人参与
# 2025牛客秋招季 #
4289次浏览 131人参与
# 双非能在秋招上岸吗? #
215209次浏览 1142人参与
# 被AI治愈的瞬间 #
52338次浏览 597人参与
# 怎么防止在试用期被辞退 #
122339次浏览 911人参与
# 我的租房踩坑经历 #
28046次浏览 285人参与
# 穿越回高考你还会选现在的专业吗 #
21830次浏览 266人参与
# 我和mentor的爱恨情仇 #
43682次浏览 278人参与
# 打工人的工作餐日常 #
40450次浏览 343人参与
# 软开人,说说你的烦心事 #
48101次浏览 359人参与
# 毕业旅行去哪玩儿 #
1258次浏览 33人参与
# 硬件/芯片公司工作体验 #
75262次浏览 664人参与
# 商战,最累的是我们 #
13072次浏览 52人参与
# 打工人锐评公司红黑榜 #
146019次浏览 920人参与
# 25届秋招公司红黑榜 #
262176次浏览 1094人参与