varClass=function(){varklass=function(){};klass.prototype.init=function(){};//定義prototype的別名klass.fn=klass.prototype;//定義類的別名klass.fn.parent=klass;//給類添加屬性klass.extend=function(obj){varextended=obj.extended;for(variinobj){klass[i]=obj[i];}if(extended)extended(klass)};//給實(shí)例添加屬性klass.include=function(obj){varincluded=obj.included;for(variinobj){klass.fn[i]=obj[i];}if(included)included(klass)};returnklass;};varPerson=newClass;Person.include({save:function(id){console.log("idis:"+id);},exists:function(id){/*...*/}});varperson=newPerson;person.save();關(guān)于兩個(gè)new的問題,第一個(gè)是new的是klass的實(shí)例,第二個(gè)new的是什么?打印出來的Person的原型是klass,person也是klass?這是什么情況?還是我完全理解錯(cuò)了?
如何理解關(guān)于構(gòu)造函數(shù)的這段代碼?
犯罪嫌疑人X
2019-05-25 14:56:48