一元操作符“++”,“- -” 之强制转换数值

版权声明:如果这篇文章对你有所帮助,请点个赞~~~ https://blog.csdn.net/qq_35087256/article/details/82356522

递增和递减分别有前置型和后置型,这里不作区分。

下面的代码全部是后置型递增:

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

以上三段代码分别对应着三种字符串:

  1. 不包含有效数字字符的字符串
  2. 数字和其他字符结合的字符串,不是有效的数字字符串,也属于1的一种
  3. 包含有效数字字符的字符串

一元操作符“++”,“- -”对于上面的这几种字符串,有如下规则:

1.在应用于一个包含有效数字字符的字符串时,先将其转化为数字值,再执行加减1。字符串变量变为数字变量。

2.在应用于一个不包含有效数字字符的字符串时,将变量的值设为NaN。字符串变量变为数字变量。

其中NaN是一种特殊的Number类型。

注意:

NaN instanceof Number  //false

基本类型不能像这样检测类型,因为它不是Number构造函数的一个实例对象。

猜你喜欢

转载自blog.csdn.net/qq_35087256/article/details/82356522