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

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

Js中的對象轉(zhuǎn)換為數(shù)值類型時是不是返回結(jié)果都是NaN?

Js中的對象轉(zhuǎn)換為數(shù)值類型時是不是返回結(jié)果都是NaN?

紅顏莎娜 2019-03-28 22:19:12
打錯了函數(shù),sorry...1、看到Js高程第三章Number()函數(shù)轉(zhuǎn)換對象為數(shù)值時沒看懂。2、然后我嘗試了一下用Number()函數(shù)轉(zhuǎn)換對象為數(shù)值時,結(jié)果都是NaN。3、所以如果有可以轉(zhuǎn)換為數(shù)值類型的對象請舉例,萬分感謝解惑。
查看完整描述

3 回答

?
米琪卡哇伊

TA貢獻(xiàn)1998條經(jīng)驗 獲得超6個贊

你需要了解調(diào)用Number的時候,到底是怎么執(zhí)行的?

根據(jù)js規(guī)范,如果參數(shù)是對象,會首先把對象轉(zhuǎn)化為原始類型的數(shù)據(jù),那么怎么轉(zhuǎn)化為原始類型的數(shù)據(jù)呢?

比如


let a = {}

那么會首先調(diào)用a的valueOf方法,如果結(jié)果不是原始類型,那么調(diào)用toString方法:

a.valueOf()返回對象本身,不是原始類型,所以需要繼續(xù)調(diào)用toString方法;

a.toString()返回"[object Object]",是一個字符串,是原始類型,所以接下來會調(diào)用Number("[object Object]"),返回NaN;


所以你如果想返回數(shù)字,那個我們就可以通過修改轉(zhuǎn)化步驟中的返回值來改變結(jié)果,比如,可以修改valueOf的返回值:


let a = {}

a.valueOf = function () {return 2}

Number(a) // 2

或者修改toString的返回值:


let b = {}

b.toString = function () {return 3}

Number(b) // 3


查看完整回答
反對 回復(fù) 2019-04-01
?
一只萌萌小番薯

TA貢獻(xiàn)1795條經(jīng)驗 獲得超7個贊

let flag = false;
Number(flag)
//0

let b = new Boolean(false);
b //Boolean {false}
Number(b)
//0

可以轉(zhuǎn)換的,會自動包裝與拆包(包裝類型) 默認(rèn) false -> 0 , true -> 1

不知道你問的是不是這個?不是的話,可以截個圖書上說的具體是啥,哪里沒明白


查看完整回答
反對 回復(fù) 2019-04-01
  • 3 回答
  • 0 關(guān)注
  • 593 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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