技術之瞳上面的這段代碼的輸出理解

科技 未結 5 1204
小馬甲快來追我
小馬甲快來追我 2022-04-24 19:19

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

為什么是輸出 2

5條回答
  •  辰寶besos
    辰寶besos (樓主)
    2022-04-24 19:30

    在非嚴格模式下不使用var定義一個變量的話,會使得這個變量作為全局對象的屬性存在。瀏覽器即window,Node即global。

提交回復