显示类型转换
用typeof可以检测数据的类型
console.log(typeof(123)); //Number
typeof的返回结果有六种:Number String Boolean Undefined Object function
数组和null(历史遗留原因 以前被用为空符)都属于Object
NaN属于number,虽然是非数,但是也属于数字
typeof返回的结果是字符串
Number(mix)[混合]
这个方法是可以把其他类型的数据转换为数字类型的数据
parseInt(string, radix)[基数]
1.这个方法是将字符串转换为整形类型的数字,其中第二个参数radix基底是可以选择的参数(进制)
2.当radix为空的时候,这个函数的作用仅仅是将字符串转换为Number类型
3.当参数string里面既包括数字字符串又包括其他字符串的时候,它会将看到其他字符串就停止了,不会继续转换后面的数字型字符串了
parseInt("123abc222"); //123;
parseInt("123"); //123;
parseInt("abc123"'); //NaN
parseInt("true"); //NaN
当radix不为空的时候这个函数可以用做进制转换,把第一个参数当成几进制的数字转换成十进制
radix参考范围是2-36
var demo = 10;
parseInt(demo,16) //16
parseFloat(radix)
这个方法和parseInt类似,是将字符串转换成浮点类型的数字,碰到第一个非数字型停止
只能识别第一个小数点及后面的数字,第二个小数点不能识别
parseFloat('123.2.3') //123.2
parseFloat('123.2abc') //123.2
parseFloat('123.abc1') //123
toString(radix)
这个方法和前面的不同,它是对象上的方法,任何数据类型都可以使用,转换成字符串类型,涉及包装类
同样是radix为基底可选参数,为空仅仅将数据转换成字符串
var demo = 123;
typeof demo.toString(); //string 123;
typeof true.toString(): //stringtrue;
当写了radix时代表要将这个数字转换成几进制的数字型字符串
var demo = 10;
demo.toString(16); //A
undefined 和 null 没有 toString 方法
String(mix)
和Number类似把任何类型转换成字符串
Boolean(mix)
和Number类似把任何类型转换为Boolean
隐式类型转换
isNaaN()
这个方法可以检测是不是非数类型,调用的Number方法
算数运算符
++ 就是将现有数据调用Number之后,自身加一
+ - * / //执行之前都会先进行类型转换,换成数字在运算
逻辑运算符
&& || ! 都会调用Boolean转换成布尔值看看结果是true 还是false,返回结果还是本身表达式的结果
!abc; //false
不发生类型转换的比较运算符
=== 严格等于 ; !==严格不等于