技术之瞳上面的这段代码的输出理解 财富值6

2017-08-20 16:20发布

function a(){     y = function () {         x = 2;     };     return function () {         var x = 3;         y();         console.log(this.x);         debugger;     }.apply(this, arguments); } a();  //2

为什么是输出 2

5条回答

因为这里绑定了this的作用域,而这里的this其实是window作用域。
所以y函数执行之后this.x == 2, x == 3 输出结果。

一周热门 更多>