我无法理解JavaScript中的for/in语句.
我正在使用的这本书解释如下:
for(variable in object){
statement
}
Run Code Online (Sandbox Code Playgroud)
所以举个例子:
var links = {
link1: {img: '/img/link1.jpg', w: 100 },
link2: {img: '/img/link2.jpg', w: 140 }
};
Run Code Online (Sandbox Code Playgroud)
我如何打印出所有链接?
如果我使用:
for(x in links){
document.write(x);
}
Run Code Online (Sandbox Code Playgroud)
它写出了2个属性名称(link1, link2),但是我无法理解如何访问嵌套更深层次的那些属性,我首先想到的是嵌套for/in循环,但我只是不理解语法.例如,在上面的代码中,是否x引用了属性名称?如果是这样就不会x.img获得img财产?或者是我的想法?
我很感激任何参考或链接到示例,我只是发现书中的2个代码示例并不能帮助我理解我想要的内容.
x是指属性名称,但不是属性值.因此,要访问属性值,您需要这样做object[x].
所以,例如:
for (key in links) {
var linkProperties = links[key];
document.write(key + ": \n");
for (property in linkProperties) {
var propertyValue = linkProperties[property];
document.write(" " + property + " = " + propertyValue + "\n");
}
}
Run Code Online (Sandbox Code Playgroud)
会给
link1:
img = /img/link1.jpg
w = 100
link2:
img = /img/link2.jpg
w = 140
Run Code Online (Sandbox Code Playgroud)
另外值得一提:正如在这个问题的答案中所讨论的那样,hasOwnProperty使用时几乎总是需要一个保护条款for ... in.
| 归档时间: |
|
| 查看次数: |
315 次 |
| 最近记录: |