關於JavaScript new 的一些疑問
阿新 • • 發佈:2018-05-18
lan 所有 AS 區別 fun 來源 www 返回 ava
作者:Suoz
鏈接:https://www.zhihu.com/question/60778790/answer/180524294
來源:知乎
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請註明出處。
使用new操作符包括以下五個步驟(系統自動幫你完成):
1. 創建一個對象
var obj = new Object();
2. 將對象的__proto__屬性指向構造函數Object的原型對象
obj.__proto__ = Object.prototype;
3. 將this指針指向該對象
4. 執行構造函數內部代碼
this.name = name;
console.log(this.name);
5. 返回該對象
return obj;
因此:
function Foo(name){ this.name = name; console.log(this); console.log(this.name); } var obj = new Foo("Wang"); var fn = Foo("Li");
自己想區別。
作者:Suoz
鏈接:https://www.zhihu.com/question/60778790/answer/180524294
來源:知乎
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請註明出處。
關於JavaScript new 的一些疑問