[英]Javascript: can't access object property through for..in loop
我试图访问实际位于另一个对象内的对象上的属性(名称)。 我在文件中初始化了对象:
var icons = {
"facebook": {name: 'facebook', icon_url: 'img/logos/facebook.png'}
};
然后尝试使用以下代码检查对象:
var icon_current_class;
for(var icon in icons){
console.dir(icon);
//outputs an object named facebook but says it has no properties
if( $(this).hasClass( icon.name ) ){
icon_current_class = icon.name;
}else{
alert("Something went wrong. Please contact the mods.");
}
}
当然,每次运行时,警报(“出问题”)都会消失。 我已经尝试了很长时间才找到解决方案,但无济于事。 有人可以帮忙吗?
for(var icon in icons)
在for循环中,您分配的icon
不是对象,而是每个项目的索引/键。
for (var i in icons){
console.dir(icons[i]);
...
for(var x in y)
x
是对象的键,你需要使用y[x]
来返回值:
for(var icon_name in icons){
var icon = icons[icon_name];
.....code....
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.