这个 for each...in 循环没有运行,尽管它是 mozilla 的直接副本 Javascript guide关于 for each...in 语句。
var sum = 0;
var obj = {prop1: 5, prop2: 13, prop3: 8};
for each (var item in obj) {
sum += item;
}
alert(sum); // prints "26", which is 5+13+8
jsFiddle:http://jsfiddle.net/4fVSB/1/
我收到这个错误:
SyntaxError: missing ( after for for each (var item in obj) {
这可能与我的 javascript 版本有关。出于某种原因,我的 FF 有 javascript 1.5 版,而我确实安装了 FF 24.0。这个版本的 FF 不应该有最新的 javascript 版本吗?
Fiddle 看看我有什么版本的 js:http://jsfiddle.net/Ac6CT/
谢谢,
最佳答案
正确的语法只是for(var item in obj)
,没有each。
然后在实际循环中,您必须使用 obj[item]
访问数值(即 5、13 等)。
你的代码最后应该是这样的:
var sum = 0;
var obj = {prop1: 5, prop2: 13, prop3: 8};
for(var item in obj) {
if(obj.hasOwnProperty(item)){
sum += obj[item];
}
}
alert(sum);
hasOwnProperty
函数可确保您不会意外地循环继承的方法。
关于javascript - 对于每个...in 循环未运行 : syntax error missing (,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18919989/