数值类型转换为字符串类型
-
数字加一个空格
var n=100; //number var m=n+"";//string
-
创建一个字符串对象,将这个数字传入作为构造字符串的初始值
var n=100;//number var m=String(n);//string
-
通过数字的toString方法将数字转换为字符串
var n=10;//number var m=n.toString(n);//string
字符串类型转换为数值类型
- 将一个数字字符串减去0,就得的了数字number
var n="10";//string var m=n-0;//number
- 值得注意的是,如果该字符串不是纯粹的数字字符串的话,那么减去0 后得到的虽然还是一个数字类型,但却是NAN,
var z="c123a"; var z1=z-0; console.info(typeof z1);//number console.info(z1);//NAN
- 使用Number构造一个数字对象,也可以将字符串转换为数字
var z="c123a"; var z1=Number(z); console.info(typeof z1);//number console.info(z1);//NAN
- 用parseInt()方法可以将字符串转换为数字
var z="c123a"; var z1=parseInt(z); console.info(typeof z1);//number console.info(z1);//NAN
隐式类型转换
-
转换成布尔类型
undefined->false null->false 数值型0或0.0或NaN->false 字符串长度为0->false 其它对象->true
-
转换为数值型数据
undefined->NaN null->0 true->1|false->0 内容为数字->数字,否则转换成NaN 其它对象->NaN
-
转换为字符串型数据
undefined->"undefined" null->"NaN" true->"true" falSe->"falSe" 数值型->NaN、0或者与数值对应的字符串 其它对象->如果存在这个对象则转换为toString()方法的值,否则转换为undefined
-
== 运算符隐式转换
123 == "123" false == 0 null == undefined new Object()==new Object() false [1,2] == [1,2] false 1==true new String("h1") == "h1"
强制类型转换
- 通过toNumber将值转换为数字
- 通过toString将值转换为字符串
- 通过toParseInt()
- 通过Boolean()
- 参考 https://zhuanlan.zhihu.com/p/38976424
常用运算符
关系表达式
数据类型的检测
typeof 100
typeof true
typeof function
typeof(undefined)
typeof new Object() object
typeof [1,2] object
typeof NaN number
typeof null object