in loop javascript 的解释

Explanation for in loop javascript

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

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; 
}

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

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

的属性

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