數(shù)字轉(zhuǎn)字符串:
var n = 3;
n.toString();
以上代碼 可以將數(shù)字3轉(zhuǎn)換成字符串"3"
布爾轉(zhuǎn)字符串
以上代碼 可以將true轉(zhuǎn)換為字符串"true"
undefined轉(zhuǎn)字符串
會(huì)報(bào)錯(cuò) 找不到未定義的toString()屬性
null轉(zhuǎn)字符串
依然會(huì)報(bào)錯(cuò) 找不到null的toString()屬性
對(duì)象轉(zhuǎn)字符串
雖然不會(huì)報(bào)錯(cuò) 但是結(jié)果并不是我們想看到的那樣
隱式轉(zhuǎn)換 與空字符相加
1 + ''
1加上空字符串 變成字符串'1'
true + ''
true加上空字符串 變成字符串'true'
undefined + ''
不會(huì)報(bào)錯(cuò) 且變成字符串'undefined'
null + ''
不會(huì)報(bào)錯(cuò) 且變成字符串'null'
對(duì)象 + ''
加號(hào)的厲害之處是可以把任何都變成字符串
+左右 任意一邊只要有字符串 它就會(huì)嘗試將另一邊也變成字符串
1+ '1' 等于 (1).toString() + '1' 所以是 '11'
全局函數(shù)String
和加號(hào)的功能一樣 都是轉(zhuǎn)成字符串
如何轉(zhuǎn)成Boolean畅买?
注意
Boolean(數(shù)字0)是false Boolean(空字符串)是false null undefined都是false
Boolean(空對(duì)象)是true Boolean(空數(shù)組)是true 只要字符串不是空就是true
!! 一個(gè)! 是取反 兩個(gè)!! 是取反的取反 就是負(fù)負(fù)得正
總結(jié)
數(shù)字中 只有0 和 NaN是false 其他都是true
字符串中只有空字符串是false 其他都是true
null false
undefined false
對(duì)象中都是true
五個(gè)falsy值
0 NaN null undefined ''(空字符串)
如何轉(zhuǎn)成number?
①parseInt('1',10) 轉(zhuǎn)成整數(shù) === 1
②parstFloat('1.23') 轉(zhuǎn)成小數(shù) === 1.23
③Number('1') === 1
④ '1' + 0 === 1
⑤ '1' - 0 === 1
'1' - 0 任何東西 減0 都可以轉(zhuǎn)成數(shù)值
內(nèi)存圖