亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

求解釋每行代碼的意思。。。

能不能注釋一下這里每行代碼什么意思??看不懂= =,用的是《JS高級程序設計》,沒看到相關內容,,,http://img1.sycdn.imooc.com//56e9774d0001c74e18000795.jpg

正在回答

1 回答

第一句是聲明obj對象

第二句是指obj.1=1這個意思,但是1是不合法的標識符,用點是不行的,用[]進行引用才有,例如:obj[x] 等于obj.x

第三句也是 obj.1=2,由于上面有1這個屬性了(上面的obj[1] 是等于第二行的obj['1']),,所以將上面的obj.1=1覆蓋了,下面的obj屬性中就為Object[1:2];

到第四句說的 就是obj對象中的屬性,為Object[1:2]

這樣上面一解析你應該大概就清楚了不少,那下面也是同理

第五句也是同理 聲明對象obj[{}]=true;

第六句 其實跟上面的一樣,JavaScript會進行tostring處理,既然toString了,obj[{}] 是等于obj[{x:1}]

倆個是同一個屬性

第7句 就是將整個屬性輸出 將上面的obj.[1]屬性輸出,也將下面的obj.[{}]屬性輸出,所以是[1:2,[object Object]]:true

如果你滿意的話,給我個好評,我挺喜歡好評的 =——=



15 回復 有任何疑惑可以回復我~
#1

Helianthuserin 提問者

非常感謝!
2016-03-17 回復 有任何疑惑可以回復我~
#2

暖日晴風

請問一下,為什么obj[{}]和obj[{x:1}]是同一個屬性呢?我試了下,無論后面再添加比如說obj[{y:2}] = true,輸出永遠是Object {1: 2, [object Object]: true}。我不是很理解,謝謝!
2016-04-28 回復 有任何疑惑可以回復我~
#3

不知誰占用了本大人的名字 回復 暖日晴風

怎么說呢,我并沒有說obj[{}]和obj[{x:1}]是同一個屬性,真的不是一個屬性,你理解錯了方向了,其實很簡單的, 其實我轉換一下給你看,這只是為了形象寫的,你實測是不成功的 上面的總結果:obj.1=2; 下面的總結果為:obj.{x:1}=ture 注意x:1是對象 就是說顯示的是: [object Object]: true,這是對象的表現方式。 我們就有倆個屬性了,所以最后輸出的是{1: 2, [object Object]: true}。
2016-04-28 回復 有任何疑惑可以回復我~
#4

不知誰占用了本大人的名字 回復 暖日晴風

哦,我看錯了,你想問的不是這個,是問其他的你再添加的時候,為什么只有這一個屬性顯示在這,是因為前面的被刷新掉了
2016-04-28 回復 有任何疑惑可以回復我~
#5

ZTON 回復 不知誰占用了本大人的名字

我和它有同樣的疑問,我的意思是,為什么他顯示了{1: 2, [object Object]: true} 而不是{1: 2,{}: true, {x:1}: true},是不是{}和{x:1}字符串話后的后的值都是[object Object], 所以Key相同.
2016-07-07 回復 有任何疑惑可以回復我~
查看2條回復

舉報

0/150
提交
取消

求解釋每行代碼的意思。。。

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號