一元操做符「++」,「- 」 之強制轉換數值

遞增和遞減分別有前置型和後置型,這裏不做區分。bash

下面的代碼所有是後置型遞增:函數

var str = "z";
console.log(str++)		//NaN
console.log(typeof str)		//number
複製代碼
var str = "123abc";
console.log(str++)		//NaN
console.log(typeof str)		//number
複製代碼
var str = "123";
console.log(str++)		//123
console.log(typeof str)		//number
複製代碼

以上三段代碼分別對應着三種字符串:spa

  1. 不包含有效數字字符的字符串
  2. 數字和其餘字符結合的字符串,不是有效的數字字符串,也屬於1的一種
  3. 包含有效數字字符的字符串

一元操做符「++」,「- -」對於上面的這幾種字符串,有以下規則:code

1.在應用於一個包含有效數字字符的字符串時,先將其轉化爲數字值,再執行加減1。字符串變量變爲數字變量。對象

2.在應用於一個不包含有效數字字符的字符串時,將變量的值設爲NaN。字符串變量變爲數字變量。字符串

其中NaN是一種特殊的Number類型。string

注意:it

NaN instanceof Number  //false
複製代碼

基本類型不能像這樣檢測類型,由於它不是Number構造函數的一個實例對象。console

相關文章
相關標籤/搜索