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

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

Number()函數(shù)傳入Object時的情況

Number()函數(shù)傳入Object時的情況

qq_笑_17 2018-08-09 09:10:07
我在讀《Javascript高級程序設(shè)計》一書時,當(dāng)讀到Number Type下對于Number()函數(shù)轉(zhuǎn)化規(guī)則一部分時,發(fā)現(xiàn)他有如下一個介紹:When applied to objects, the valueOf() method is called and thereturned value is converted based on the previously described rules.If that conversion results in NaN, the toString() method is called andthe rules for converting strings are applied.按照它的描述,我的理解是,對于一個Object,先執(zhí)行Object的valueOf()函數(shù),如果最后轉(zhuǎn)化結(jié)果是NaN,就再采用Object的toString()函數(shù)進行轉(zhuǎn)化。但是我做了如下實驗:var obj = {    a: "hello",    valueOf: function() {        return this.a;     },    toString: function() {        return 1;     } }Number(obj) // 結(jié)果:NaN所以是不是書里描述錯誤了,應(yīng)該是如果沒有valueOf()函數(shù)的時候才執(zhí)行toString(),否則只是執(zhí)行valueOf()
查看完整描述

1 回答

?
繁花如伊

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

犀牛書里關(guān)于這個寫的是:傳入對象 先調(diào)用valueOf 如果返回的是對象的原始值,則把原始值轉(zhuǎn)成數(shù)字,如果不返回原始值,則調(diào)用tostring 。 你的例子valueof 返回的是字符串已經(jīng)是原始值了,把這個字符串的原始值轉(zhuǎn)換成數(shù)字就是NaN并返回, 不需要再調(diào)用tostring 了。 不知道我理解的對不對

查看完整回答
反對 回復(fù) 2018-09-25
  • 1 回答
  • 0 關(guān)注
  • 632 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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