普通類型和對(duì)象的區(qū)別

1 其他類型變字符串

方法一:String( )函數(shù)(這是一個(gè)全局函數(shù))

window.String(null) //  'null'
window.String({}) // '[object Object]'

方法二:x + " "(與空字符串相加)

1 + '' // "1"
true + '' //  "true"
null + '' //  "null"
2 其他類型變布爾

方法一:Boolean( )函數(shù)(全局函數(shù))

Boolean(0) // false
Boolean('') // false
Boolean({}) // true(對(duì)象全部都是true 包括數(shù)組和函數(shù))

五個(gè)falsely值:

  • number里:0 NaN
  • string里 :'' "" (空字符串)
  • undefined
  • null

方法二:連續(xù)取兩次反

!!{}   //  true
!!NaN  // false
!!'!'  //   true
3 其他類型轉(zhuǎn)數(shù)字

方法一:函數(shù)

Number('1') === 1
parseInt('1',10) === 1
parseFloat('1.23') === 1.23

方法二:

'1' - 0 === 1   // 減0
+ '1.23' === 1.23  // 取正
+ '-1' === -1  

parse:解析

parseInt('s')   // NaN
parseInt('12s')  //  12  (從頭開始能解析多少解析多少)
parseInt('011')  // 11
parseInt('011',8)  // 9 (八進(jìn)制)
parseInt('011',10)  // 11
4 其他類型變對(duì)象

內(nèi)存圖:


先經(jīng)過變量提升var a,b,c,d........

  • 簡單類型存入Stack
  • 復(fù)雜類型存入Heap ,地址存入Stack

面試題:

var a={name:'a'}
b=a
b={'name':'b'}
a.name   //  'a'

垃圾回收:
如果一個(gè)對(duì)象沒有被引用,它就是垃圾,將被回收
var a={name:'a'}
var b={name:'b'}
a=b

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容