遞增和遞減分別有前置型和後置型,這裏不做區分。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
一元操做符「++」,「- -」對於上面的這幾種字符串,有以下規則:code
1.在應用於一個包含有效數字字符的字符串時,先將其轉化爲數字值,再執行加減1。字符串變量變爲數字變量。對象
2.在應用於一個不包含有效數字字符的字符串時,將變量的值設爲NaN。字符串變量變爲數字變量。字符串
其中NaN是一種特殊的Number類型。string
注意:it
NaN instanceof Number //false
複製代碼
基本類型不能像這樣檢測類型,由於它不是Number構造函數的一個實例對象。console