嘎嘎,一处笔误,最内层滴 for 后面多了分号!!!
L@_@K
for(var p in list)
{
for(var c in list[p])
{
for( var d in list[p][c] ); // 都是分号惹滴祸!
{
s.push(d);
}
}
}去掉分号就欧了!
var s = [];for(var p in list)
{
document.write(p,"<br />");
for(var c in list[p])
{
document.write(" ",c,"<br />");
for(var d in list[p][c])
{
document.write(" ",d,"<br />");
s.push(d);
}
}
}
alert(s);
L@_@K
for(var p in list)
{
for(var c in list[p])
{
for( var d in list[p][c] ); // 都是分号惹滴祸!
{
s.push(d);
}
}
}去掉分号就欧了!
var s = [];for(var p in list)
{
document.write(p,"<br />");
for(var c in list[p])
{
document.write(" ",c,"<br />");
for(var d in list[p][c])
{
document.write(" ",d,"<br />");
s.push(d);
}
}
}
alert(s);
后面的;号去掉。
第一轮省的for in是没问题的,后面几轮都会报错
for(city in cities)
{
_self.city.options.add(new Option(city,cities[city].city_id));
}
{
_self.city.options.add(new Option(city,cities[city].city_id));
}
少了var?
debugger是JS用来触发调试用的,和加断点差不多
测试代码如下
L@_@K
var s = [];
debugger;var cities = list["山西省"];for(var city in cities)
{
//_self.city.options.add(new Option(city,cities[city].city_id));
s.push(city);
}
alert(s);
我也奇怪,我上面的测试代码一切没问题TO:jol_boy
我用sarari,firefox,opera都测试过,完全没问题,就IE会报这错误,真是郁闷了……
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
</head>
<body>
<script type="text/javascript">
//以下代码一切正常
var data = {name:"aaa",length:120};
for(var a in data)
alert(a);
for(b in data)
alert(b);
for(window["c"] in data)
alert(window["c"]);
</script>
</body>
</html>
只要代码没有错,一般都能正确执行,
不过不同浏览器滴js引擎在解释js代码时确实存在细微差别!