JS new物件內部發生了什麼
阿新 • • 發佈:2019-02-17
function Animate(name){ this.name = name; } Animate.prototype.dance = function(){ console.log(this.name + "在跳舞!"); } var dog = new Animate('小白'); dog.dance(); //new Animate('小白')時發生的事情: 1.建立了一個新物件 var obj = {} 2.將Animate中的this關鍵字指向obj 3.將Animate的prototype原型指向obj原型,這樣obj就擁有了Animate中的方法4.執行Animate建構函式(類)的程式碼 執行完後,obj的樣子: var obj = { name : '小白', dance : function(){ console.log(this.name + "在跳舞!"); } }