猿问

技术之瞳上面的这段代码的输出理解

function a(){

    y = function () {

        x = 2;

    };

    return function () {

        var x = 3;

        y();

        console.log(this.x);

        debugger;

    }.apply(this, arguments);

}

a();  //2

为什么是输出 2

小唯快跑啊
浏览 479回答 1
1回答

POPMUISE

  y = function () {        x = 2;    };指定window.x = 2然后你又在window下调用了a 当然打印2了
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答