在Javscript中绰上,我們實例化一個類的時候都會使用類似的代碼
var coder = new Man()
那么在new的時候启搂,new到底做了什么呢,其實很簡單吃谣,new的作用撕予,就是先創(chuàng)建一個空對象鲫惶,然后將新對象的proto鏈接到類的prototype,最后通過將新對象作為上下文(this)实抡,調(diào)用call來執(zhí)行類的構(gòu)造函數(shù)欠母。實現(xiàn)代碼如下
var coder = {};
coder.__proto__ = Man.prototype
Man.call(coder)
具體可以查看MDN的文檔new運算符