写出打印结果:
var x = 20;
var temp = {
x:40,
foo:function(){
var x = 10;
console.log(this.x);
}
};
(temp.foo,temp.foo)();
答案:
20
解析:逗号操作符,逗号操作符会从左到右计算它的操作数,返回最后一个操作数的值。所以(temp.foo,temp.foo)();等价于 var fun = temp.foo; fun(); fun 调用的时候 this 指向 window ,所以返回20。
探讨JavaScript中this关键字的指向规则及逗号操作符的使用,通过具体代码示例解析函数调用时this的指向及如何影响输出结果。
931

被折叠的 条评论
为什么被折叠?



