js 循环对象的问题

vara={'aa':'aa','b':'b','c':'c'};for(propina){document.write("属性:"+prop+"="+a[prop]+"... var a={'aa':'aa','b':'b','c':'c'};
for (prop in a){
document.write("属性: " + prop + "=" + a[prop] + "<br>");
}
for (prop in a){
document.write("属性: " + prop + "=" + a.prop + "<br>");
}

为什么第二个for-in会报错。
展开
 我来答
百度网友1fdeaff
2014-01-20 · TA获得超过263个赞
知道小有建树答主
回答量:507
采纳率:0%
帮助的人:419万
展开全部
var a = {'x':1,'y':2};
a.x     ok
a[x]    ok
z = true?'x':'y';
a[z]   ok
a.z    error


第二个循环里prop是变量,变量不允许用.来引用,只能用[]的方式引用,主意区分上面两个引用方式


zhaoapk
2014-01-20 · TA获得超过3771个赞
知道大有可为答主
回答量:1343
采纳率:40%
帮助的人:1597万
展开全部
// 你说的报错是打印undefined吗?
var a = {
    'aa': 'aa',
    'b': 'b',
    'c': 'c'
};
for (prop in a) {
    // prop是aa的时候
    // a[prop]等于a.aa
    document.write("属性: " + prop + "=" + a[prop] + "<br>");
}
for (prop in a) {
    // a.prop是undefined
    document.write("属性: " + prop + "=" + a.prop + "<br>");
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友1f463fa
2014-01-20 · TA获得超过685个赞
知道小有建树答主
回答量:600
采纳率:0%
帮助的人:471万
展开全部
第二个 a.prop 相当于 a["prop"],而不是a[prop]。
在 a 对象里面,并没有 a["prop"] 这个属性,因此第二个会报错。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
爱LOVE油8
2014-01-20 · TA获得超过158个赞
知道答主
回答量:24
采纳率:0%
帮助的人:7.1万
展开全部
54123..........
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式