- 布尔值转换为
false:undefined
、null
、""
、0
、NaN
、-0
. - 布尔值转换为
true
:Infinite,-Infinite
(无穷大)、{}
、[]
、function
、非空string
。 - 原始值(
null undefined boolean number string
)不可更改,对象(array function
)可改变 -
==
操作符不试图将其操作数转换成布尔值,if()
判断条件需要转换成Boolean
值
"0"==false //=> true 都转换成数字
- 显示转换
Number('3') //=>3
String(false) //=> "false" false.toString();
Boolean([]) //=> true
Object(3) //=> Number {[[PrimitiveValue]]: 3} new Number('3')
Number([])//0
另外一种方式:
+x==Number('3') x-0
,boolean
转换!!X
Number
-
toString
:表示转换的基数(二进制,8进制,16进制) -
parseInt
:如果字符串前缀是0x
或0X
则按16进制解析 -
parseFloat
:解析整数和浮点数 -
toFixed
: 指定小数点后的指定位数 -
toExponential
: 指数计数法 -
toPrecision
:根据指定的有效数字位数将数字转换成字符串,如果有效数字位数少于数字整数部分则会转换成指数形式。
n.toString(16)// 0x+"11"
var n =123456.789;
n.toExponential(1)//"1.2e+5"
n.toPrecision(4)//"1.235e+5"
n.toPrecision(7)//"123456.8"
n.toPrecision(9)//"123456.789"
n.toPrecision(10)//"123456.7890"
parseInt('0xFF') //255
parseFloat('0xFF')//0
4-6方法都会四舍五入或者填充0,
parseInt
或parseFloat
如果第一位非空格字符是非字符直接量将会返回NaN
parseFloat('.')//NaN
parseFloat('.1')//0.1
parseInt(.1)//0
-
new Date().valueOf() //1447055481082
特殊的返回毫秒数而非返回对象 -
一把辛酸泪,好好的没有保存。重写真的好累