类型转换

196 阅读1分钟

1、显示类型转换

  • Number(mix)

括号中内容转换为数字

undefined、字母不能转换为数字

  • parseInt(string,radix)

数字转换为整型

true,false都不能转换为数字,转换结果为NaN 与Number() 不同

可以将radix(2 - 36)进制的数字转换为10进制

  • parseFloat(string)

  • toString(radix)

要转换的数据.toString()

undefined和null不能使用toString

toString(radix) 可以以10进制为基底,转换为目标进制,将10进制的数字转换为radix进制的数

  • String(mix)

  • Boolean()



2、隐式类型转换

内部调用显示的方法

  • isNaN()

判断括号中的变量/值是不是NaN,返回true或false

这个判断会将括号中的变量先使用Number转换,转换的结果再和NaN比较

  • ++/-- +/-(一元正负)

a ++; 如果a不是数字,会先调用Number进行转换,然后再“++”

+a; 调用Number最终转换为数字类型

  • +

var a = "a" + 1;

"+"两侧有一个为字符串类型,会调用String全都转成字符串

  • -*/%

var a = "a" * 1;计算结果为NaN,最终类型为number

调用Number()

  • && || !

调用boolean()

  • < > <= >=

var a = "a" > 1

字符串与字符串比较ascii码,字符串与数字比较会先将字符串转换为数字后比较

  • == !=

特殊的:undefined == null 返回true NaN == NaN 返回false;



=== !== 不发生类型转换的绝对等于/绝对不等于