第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

js面試題,求解析。越詳細越好

js面試題,求解析。越詳細越好

FFIVE 2018-08-02 19:12:51
求解析,a.b 和 a[b]都是獲取對象屬性的寫法。但差異是:a[b]的b只能是字符串。那下面的代碼怎么解析呢 ,輸出值為什么是345,345,333?var a = {};var b = {key: 'b'};var c = {key: 'c'};var d = [3,5,6];a[b] = 123;a[c] = 345;a[d] = 333;console.log(a[b]); console.log(a[c]); console.log(a[d]);
查看完整描述

2 回答

?
HUX布斯

TA貢獻1876條經(jīng)驗 獲得超6個贊

對象的key值是一個字符串,b與c都是一個對象,將他們作為a的key值會先轉(zhuǎn)化為字符串,對象轉(zhuǎn)化為字符串后是[object Object],所以a[b]=123就是a['[object Object]']=123,執(zhí)行a[c] = 345;的時候會把a['[object Object]']重新賦值為345,所以打印a[c]與a[d]就是對a['[object Object]']的取值,結果都是345

數(shù)組d轉(zhuǎn)化為字符串的結果是3,5,6,所以a[d] = 333;就是a['3,5,6'] = 333;,取值同理就是取a['3,5,6']的值

補充

es6中可作為對象屬性的Symbol類型


查看完整回答
反對 回復 2018-08-05
?
茅侃侃

TA貢獻1842條經(jīng)驗 獲得超22個贊

Object內(nèi)置toString 和 valueOf 方法;
這種情況a[b] = 123 會默認調(diào)用對象的toString().
a[b] = 123就是a['[object Object]'] = 123
a[c]里面的對象c通向會調(diào)用toString() 也是a['[object Object]'] = 345;
而數(shù)組的toStirng() = '[object Array]';
最終a應該是{'[object Object]':345,'[object Array]':333};
ps:默認調(diào)用toString()是什么情況我要先查查先。
錯了。。。。應該是a {'[object Object]':345,'3,5,6':333};

查看完整回答
反對 回復 2018-08-05
  • 2 回答
  • 0 關注
  • 954 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號