js的七個(gè)數(shù)據(jù)類型:
number纤掸、string、boolean浑塞、symbol、null掏愁、undefined歇由、object印蓖。
-
string類型轉(zhuǎn)換:
toString
null和undefined兩種類型不能用京腥,會(huì)報(bào)錯(cuò)
object可以用,但是結(jié)果有問題他宛,'[object Object]'
老司機(jī)寫法: + ''
加空字符串 即可轉(zhuǎn)換,加號(hào)發(fā)現(xiàn)左右某一邊有字符串時(shí)會(huì)嘗試將另一邊也變成字符串
1 + '1' = 11 等價(jià)于 (1).toString() + '1'
全局方法: window.String()
示例 -
boolean類型轉(zhuǎn)換:
Boolean()
空字符串''厅各,0预柒,NaN,null宜鸯,undefined是false,其他全是true鸿市,只要是對(duì)象就是true
老司機(jī)取反法:在前面加兩個(gè)感嘆號(hào)即碗,即為取反再取反,轉(zhuǎn)換為布爾
!!1
示例 number類型轉(zhuǎn)換:
Number('1')
parseInt('1',10) 全局函數(shù)内舟,十進(jìn)制 (parse:解析)
parseFloat('1.23') 浮點(diǎn)數(shù)
'1' - 0 減零法,最常見寫法
+ '1' 取正法內(nèi)存圖:
JS的內(nèi)存分為代碼區(qū)和數(shù)據(jù)區(qū)验游,只研究數(shù)據(jù)區(qū)(聲明的變量屬于代碼區(qū))
Stack棧內(nèi)存 Heap堆內(nèi)存 數(shù)字 64位 字符 16位
簡(jiǎn)單的值直接存在Stack
復(fù)雜的值(object)先存在Heap壁却,以地址形式存入Stack裸准,這種關(guān)系稱為引用
GC 垃圾回收:
如果一個(gè)對(duì)象沒有被引用盐肃,就是垃圾爪膊,將被回收
IE6有bug:內(nèi)部有聯(lián)系的對(duì)象即使未被外部引用也不會(huì)回收-
深拷貝推盛、淺拷貝
給b賦值a后,b變a就變則是淺拷貝谦铃,b變a不變是深拷貝
深拷貝
淺拷貝