位置:首頁 > 軟件操作教程 > 編程開發(fā) > JavaScript > 問題詳情

JavaScript 減法運算

提問人:劉團(tuán)圓發(fā)布時間:2020-11-23

■實例設(shè)計

特殊操作數(shù)的減法運算。

var n = 5;                  //定義并初始化任意一個數(shù)'值:V

console.log (NaN- n);       //NaN與任意操作數(shù)相減,:.結(jié)果都是^al?:

console.log (Infinity - n);                  //Infinity 與任意操作數(shù)相減,結(jié)果都是 Infinity

console.log {Infinity - Infinity);           //Infinity 與/Infinity.相減,.結(jié)果是NaN

console.log (( - Infinity) - ( - Infinity));        //負(fù) Infinity 相減,結(jié)果是.NaN

console, log ( ( - Infinity) - Infinity);        //正負(fù) Infinity 相減,結(jié)果是-Iirfinity

在減法運算中,如果數(shù)字為字符串,先嘗試把它轉(zhuǎn)換為數(shù)值之后,再進(jìn)行運算。如果有一個操作數(shù)不是數(shù)字,則返回NaN。

console.log(2 - "1");           //返回100

cbnsoie.log(2 - "a");           //返回NaN

■小結(jié)

    使用值減去0,可以快速把值轉(zhuǎn)換為數(shù)字。例如,HTTP請求中查詢字符串的一般都是字符串型數(shù)字,可以先讓這些參數(shù)值減去0后轉(zhuǎn)換為數(shù)值。該方法與調(diào)用parseFloat()方法的結(jié)果相同,但減法運算更高效、更快捷。減法運算符的隱性轉(zhuǎn)換如果失敗,則返回NaN,這與使用parseFloat()方法執(zhí)行轉(zhuǎn)換時

的返回值是不同的。

    例如,對于宇符串"lOOaaa"而言,parseFloatO方法能夠解析出前面幾個數(shù)字,而對于減法運算符來說,則必須是完整的數(shù)字才可以進(jìn)行轉(zhuǎn)換。

    console. log (parseFloat ("lOOaaa")); //返回 100

    console. log ("lOOaaa" - 0);         //返回 NaN

    對于布爾值來說,parseFloatO方法能夠把true轉(zhuǎn)換為1,把false轉(zhuǎn)換為0,而減法運算符視其為NaN。 

    對于對象來說,parseFloatO方法會嘗試調(diào)用對象的toStringG方法進(jìn)行轉(zhuǎn)換,而減法運算符則先嘗試調(diào)用對象的valueOfO方法進(jìn)行轉(zhuǎn)換,失敗之后再調(diào)用toStringO方法進(jìn)行轉(zhuǎn)換。

繼續(xù)查找其他問題的答案?

相關(guān)視頻回答
回復(fù)(0)
返回頂部