我无法理解 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;
}
答案 0 :(得分:4)
For in loop提供了一种使用每个值和键迭代对象或数组的方法。
可以应用于object
或Array
。
对于一个对象,它将对象中的每个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
的属性。