prototype 與 proto的區(qū)別
函數(shù)a本身就是一個普通的函數(shù),執(zhí)行的時候形成私有的作用域(閉包),形參賦值,預(yù)解釋,代碼執(zhí)行,執(zhí)行完成后棧內(nèi)存銷毀/不銷毀。
<code>
function a(){
console.log(1)}
dir(a)
function a()
arguments:null
caller:null
length:0
name:"a"
prototype:Object
proto:function ()
[[FunctionLocation]]:VM587:1
[[Scopes]]:Scopes[1]
</code>
然后使勁點擊proto 原來他的構(gòu)造器是object
因為有了函數(shù)的proto構(gòu)造器 所以可以使用apply call bind
然后使勁點擊prototype 原來他的構(gòu)造器是function Object(){}
因為他的原型是obj 所以可以a.fn=b這樣賦值
總結(jié) 普通函數(shù) 類 對象,所以ES6的class 就是以前函數(shù)的類屬性