用于循环内部功能(新手)

时间:2012-05-31 07:56:29

标签: javascript

我想要一些我的for循环在函数范围内使用的变量(非全局)。

我试图将for循环包装在像这样的函数中,但它会导致控制台错误:

function() {
    var data = livingroomTableData;
    for(var i = data[0]; i < data[1]; i++) {
        var elemvalue = data[2] + format(i) + ".png";
        livingroomTableArray[i] = elemvalue;
    }
}

我希望数据变量只在这个for循环(不是全局)中包含livingroomTableData的值。在其他循环中,我将在数据变量中输入一个不同的变量。

哦,是的,正如你可能会说的那样,我是一个全新的人。 :S

3 个答案:

答案 0 :(得分:1)

javascript中只有函数作用域,块作用域不存在,所以你不能让变量只在for循环中。你可以做的是创建一个功能范围。

代码示例:

(function(livingroomTableData) {
    var data = livingroomTableData;
    //... the rest code
})(livingroomTableData);

答案 1 :(得分:1)

big 问题就在这一行:

for(var i = data[0]; i < data[1]; i++) {  

这意味着,从i作为数组的第一个元素开始,在循环中执行代码,在每次运行结束时将i递增1,直到i不是小于data的第二个元素。

我会重写它以向您展示工作版本,但不清楚您实际想要做什么。

答案 2 :(得分:0)

function() {
    for(var i = 0; i < livingroomTableData.length; i++) {
        var data = livingroomTableData[i];
        //your code here...
    }
}