變量惠猿、作用域和內(nèi)存問題
- 變量
基本類型值和引用類型值 - 執(zhí)行環(huán)境和作用域
當代碼在一個環(huán)境中執(zhí)行時蚓峦,會創(chuàng)建變量對象的一個作用域鏈(scope chain) - 作用域鏈
保證對執(zhí)行環(huán)境中有權(quán)訪問的所有變量和函數(shù)的有序訪問滚粟。 - 垃圾收集
標記清除、引用計數(shù)
引用類型
- 引用類型
引用類型的值(對象)是引用類型的一個實例。
在ECMAScript中食磕,引用類型是一種數(shù)據(jù)結(jié)構(gòu)冗恨,用于將數(shù)據(jù)和功能組織在一起答憔。 - Object
- 使用new操作符后跟Object構(gòu)造函數(shù)
- 對象字面量表示法
- Function
函數(shù)是對象。
每個函數(shù)都是Function類型的實例掀抹,而且都與其他引用類型一樣具有屬性和方法虐拓。
函數(shù)名是一個指向函數(shù)對象的指針。- 函數(shù)聲明語法
- 函數(shù)表達式定義函數(shù)
- Function構(gòu)造函數(shù)
- 函數(shù)聲明提升
- 函數(shù)內(nèi)部屬性
- arguments
類數(shù)組對象 - arguments的屬性callee
該屬性是一個指針傲武,指向擁有這個arguments函數(shù)的對象蓉驹。 - this
this引用的是函數(shù)執(zhí)行的環(huán)境對象
- arguments
- apply和call
每個函數(shù)都包含兩個非繼承而來的方法,用途:在特定的作用域中調(diào)用函數(shù)揪利。
擴充函數(shù)作用域
參數(shù)形式不同态兴,apply的參數(shù)是數(shù)組實例,或者arguments疟位;call的參數(shù)必須逐個列舉出來瞻润。
理解對象
- 對象
ECMA-262把對象定義為"無序?qū)傩缘募希鋵傩钥梢园局迪缀埂ο蠡蛘吆瘮?shù)敢订。" - 屬性類型
- 數(shù)據(jù)屬性
- 訪問器屬性
- Object.defineProperty()
- Object.definePropertys()
- Object.getOwnPropertyDescriptor()