我如何参考未声明的变量
这个问题在这里已经有了答案:
你得到的例子是缺少一些行,或者它不是关闭的适当例子。 一个更好的例子(使用简化代码)将会是
function warningMaker(obstacle){
return function() {
alert("Look!" + obstacle);
}
}
上面所做的是,当函数返回时,函数体中对obstacle
的引用会创建一个闭包,所以它将在内存中,并在每次调用时使用它,它将会
warningMaker("Messi")(); // "Look! Messi"
warningMaker("CR7")(); // "Look! CR7"
请注意,在上面,正在调用返回的函数。 (我的意思是,空的括号)
我认为你的意思是:
function warningMaker( obstacle ){
var obs = obstacle; // otherwise it would never be able to associate this two variables automatically
function doAlert () {
alert("Beware! There have been "+obs+" sightings in the Cove today!");
};
return doAlert;
}
链接地址: http://www.djcxy.com/p/52023.html