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

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

JavaScript問題

JavaScript問題

Hall0W0rld 2017-09-04 14:46:47
var?a={}, ?b={key:'b'}, ?c={key:'c'}; ? a[b]=123; a[c]=456; ? console.log(a[b]);答案:456為什么
查看完整描述

2 回答

?
__innocence

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

接上文回答,剛剛做了個試驗,發(fā)現(xiàn)確實是調用了toString方法:就是重寫toString方法,功能不變,只是加了個輸出,用于判斷是否調用了這個方法

var?a?=?{},
????b?=?{
????????key:?'b'
????},
????c?=?{
????????key:?'c'
????};

var?toStr?=?Object.prototype.toString();
Object.prototype.toString?=?function(){
????console.log('調用了這個方法');
????toStr;
}

a[b]?=?123;
a[c]?=?456;

console.log(a[b]);

輸出結果:

調用了這個方法
調用了這個方法
調用了這個方法
456

a[b] = 123;
a[c] = 456;
console.log(a[b]);

這三句執(zhí)行之前,都是經(jīng)過一次toString方法進行轉化的

查看完整回答
2 反對 回復 2017-09-04
  • 2 回答
  • 1 關注
  • 2248 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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