我搜索了论坛,但没有看到类似的问题或答案我要提出的问题,但如果重复请提供链接,我将在该帖子中查看答案。
是否可以从闭包/函数中访问数组中的对象?我试图这样做是为了实验。
这是我在firebug中放在一起的代码。我收到'未定义'。
var checkers = [1, "string", null];
var i, txt = "";
function myFunction(checkers){
for(var i = 0; i < checkers.length; i++ ){
txt += checkers[i] + " ";
console.log(txt)
}
}
myFunction(checkers);
答案 0 :(得分:1)
绝对可能,这是JavaScript的优势之一。
您的问题是您没有调用您的功能。此外,您不需要myFunction的参数,因为它会关闭上下文并了解跳棋。
只需删除参数,然后在您的代码添加myFunction()
后调用它。
var checkers = [1, "string", null];
var i, txt = "";
function myFunction(){
for(var i = 0; i < checkers.length; i++ ){
txt += checkers[i] + " ";
console.log(txt)
}
}
myFunction();
您未定义的原因是因为在声明函数时没有返回到控制台的值,就像您在运行时未定义一样:
var t = 'asd'
答案 1 :(得分:0)
var checkers = [1, "string", null];
var i, txt = "";
function myFunction(checkers){
for(var i = 0; i < checkers.length; i++ ){
txt += checkers[i] + " ";
console.log(txt)
}
}
myFunction(checkers);
答案 2 :(得分:0)
我刚刚跑了,我得到了:
1
1 string
1 string null
undefined
由于该函数不返回任何内容,Firebug最后会显示undefined
。