使用JavaScript从函数内访问数组

时间:2015-05-27 04:07:24

标签: javascript arrays function for-loop

我搜索了论坛,但没有看到类似的问题或答案我要提出的问题,但如果重复请提供链接,我将在该帖子中查看答案。

是否可以从闭包/函数中访问数组中的对象?我试图这样做是为了实验。

这是我在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);

3 个答案:

答案 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