猿问

报错Uncaught ReferenceError: z is not defined ,可是函数里

我把foo函数作为参数传递,所以此时funArg就是foo函数的引用。我想的是执行funArg()这句话时会搜寻z是不是已经定义,所以结果z的值应为20,但显然z没有输出20,报错z is not defined ,这是为什么呢?

function foo(){

    console.log(z);

}

(function(funArg){

    var z = 20;

    funArg();

})(foo);

报错:Uncaught ReferenceError: z is not defined

青春有我
浏览 1587回答 1
1回答

守着星空守着你

一句话: z 不在 foo 定义时的上下文中。
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答