這篇文章介紹詳解模擬一個js new一個對象的過程代碼
function Person(){ this.name=1234; // return {}; } Person.prototype.getname=function(){ console.log(this.name); } function CreateObj(){ var fn=[].shift.call(arguments); var args=arguments; var obj=new Object(); var ret=fn.apply(obj,args); obj.__proto__=fn.prototype; return typeof ret ==='object'?ret:obj; } var a=CreateObj(Person); console.log(a);
上述代碼CreateObj 模擬了js new一個對象的過程,從該函數的代碼中可以清晰的看到一個對像是怎麼產生的,從這裡我們也可以發現,如果建構函式顯示的回傳一個對象,new出來的物件就是該建構函式返回的對象,如果retrun其他型別的資料都會被new忽略。
以上是詳解模擬一個js new一個物件的過程程式碼的詳細內容。更多資訊請關注PHP中文網其他相關文章!