一寻拂、任意類型轉(zhuǎn)換為字符串
1、x.toString
這種方法可以將number逢艘,boolean旦袋,object轉(zhuǎn)化為字符串,但是無法轉(zhuǎn)換null它改,undefined這兩種數(shù)據(jù)類型
(2).toString()
"2"
true.toString()
"true"
2猜憎、String(x)
String(x)是一個(gè)全局函數(shù),功能更強(qiáng)大可以轉(zhuǎn)換基本上所有類型為字符串
String(1)
"1"
String(null)
"null"
3搔课、'' + x OR x + ''
這是最簡(jiǎn)單最便捷的一種方法,把x加上一個(gè)空字符串就可以快速將其他類型轉(zhuǎn)換成字符串
1+''
"1"
null + ''
"null"
二截亦、任意類型轉(zhuǎn)換為布爾
1爬泥、Boolean(x)
可以轉(zhuǎn)換所有類型為布爾類型
Boolean(1)
true
Boolean('1')
true
Boolean(null)
false
2、!! + x
這是一種最便捷最快的方式來使其他類型轉(zhuǎn)換為布爾類型
!! + 1
true
!! + null
false
三崩瓤、任意類型轉(zhuǎn)換為數(shù)字
1袍啡、Number(x)
除了要轉(zhuǎn)換的類型本來就是由數(shù)字的組成之外,其他的轉(zhuǎn)換一律變成NaN
Number('1')
1
Number(null)
0
2却桶、parseInt(x,10)
這是將其他類型轉(zhuǎn)換成整數(shù)類型境输,后面的10表示的是十進(jìn)制,取值范圍為2~37之間
parseInt('011',10)
11
parseInt('0x11',10)
0
3颖系、parseFloat(x)
解析一個(gè)字符串并返回一個(gè)浮點(diǎn)數(shù)
parseFloat('3.14')
3.14
parseFloat("0.0314E+2")
3.14
4嗅剖、x - 0
這是一種最簡(jiǎn)單快捷的方法,字符串減去一個(gè)0可以轉(zhuǎn)換成數(shù)字
'1'-0
1
'p' - 0
NaN
五嘁扼、淺拷貝和深拷貝
深拷貝
var a = 1
undefined
var b = a
undefined
b = 2
2
a
1
b變不影響a信粮,這樣就是深拷貝,例如基本類型賦值就是深拷貝
淺拷貝
var a = {
name:'a'
}
undefined
var b = a
undefined
b.name='b'
"b"
a.name
"b"
b變化會(huì)影響a趁啸,這樣的類型就是淺拷貝