写出打印结果:
var x = 20;
var temp = {
x:40,
foo:function(){
var x = 10;
console.log(this.x);
}
};
(temp.foo,temp.foo)();
扫描二维码关注公众号,回复:
11620346 查看本文章
答案:
20
解析:逗号操作符,逗号操作符会从左到右计算它的操作数,返回最后一个操作数的值。所以(temp.foo,temp.foo)();等价于 var fun = temp.foo; fun(); fun 调用的时候 this 指向 window ,所以返回20。