in循环javascript的解释

时间:2015-01-03 07:16:59

标签: javascript loops for-in-loop

我无法理解 for 循环的工作方式。

function createSimpleNode(name, options, text) {
         var node = document.createElement(name); 

        for (var o in options) { 
                 node.setAttribute(o, options[o]);
        }

        if (text) { 
                node.innerHTML = text;
        }

        return node; 
}

2 个答案:

答案 0 :(得分:4)

For in loop提供了一种使用每个值和键迭代对象或数组的方法。

可以应用于objectArray

对象

对于一个对象,它将对象中的每个key作为ITER variable.使用此变量,您可以从对象中获取相应的值。

var options = {a:1,b:2};

for (var key in options) { 
    console.log(o,options[key]);
}

将对options对象进行迭代,并打印每个key及其值。

a 1 //first key is a and options["a"] is 1
b 2 //first key is a and options["b"] is 2    

对于数组

对于数组,它将数组中的每个index作为ITER variable.使用此变量,您可以从数组中获取相应的元素。

var options = ["a","b"];

for (var index in options) { 
    console.log(index,options[index]);
}

将迭代options数组并打印给定索引上的每个index和元素。输出将是: -

0 a //first index is a and options[0] is a
1 b //second index is a and options[1] is b    

答案 1 :(得分:1)

这是for..in loop。它遍历对象的属性(在本例中为options),并允许您使用[]运算符在每次迭代中访问所述属性。

在您的示例中,您迭代options个属性,并将它们全部设置为node的属性。