投递字节跳动等公司10个岗位 >
0 点赞 评论 收藏
分享
投递字节跳动等公司10个岗位 >
0 点赞 评论 收藏
分享
永则:var a = 1;
var foo = {
a: 2,
bar: function () {
return this.a;
}
};
console.log(foo.bar()); //这个很容易理解 bar函数的this绑定在foo对象上
console.log((foo.bar)()); //这个加不加括号都等同于上面
console.log((foo.bar=foo.bar)()); //这个可能比较难理解 因为里面是一个赋值运算 表达式返回的是foo.bar这个值 那么这个值是什么呢 其实是一个匿名函数
function () {
return this.a;
}
所以 第三个console.log 可以等价为 console.log((function () {
return this.a;
})()) 故打印出来就是全局上的a变量了
最后留个问题 console.log((a=foo.bar)()) 这个打印出的结果是什么呢
投递网易有道等公司10个岗位 >
0 点赞 评论 收藏
分享
关注他的用户也关注了: