JS——構(gòu)造對象的幾種模式

1)構(gòu)造函數(shù)模式。

        function Person(name, job) { 
             this.name = name 
               this.job = job 
               this.sayName = function() { 
                  console.log(this.name) 
              } 
        } 
        var person1 = new Person('Jiang', 'student') 

2)工廠模式

function createPerson(name,age,job){
    var o = new Object();
    o.name = name;
    o.age = age;
    o.job = job;
    o.sayName = function(){
        alert(this.name);
    }
    return o;
}
var person1 = createPerson("zhangsan",29,"soft engineer");
var person2 = createPerson("lisi",30,"hardware engineer");

3)原型模式

function Person(){}
Person.prototype.name="小米";
Person.prototype.showName=function(){
          alert(this.name);
}
var person1=new Person();
person1.showName();

缺點:屬性共享

4)混合模型

構(gòu)造函數(shù)模式定義實例屬性,而原型模式用于定義方法和共享的屬性

function CreatePerson(name){
this.name=name;
}
CreatePerson.prototype.showName=function(){
        alert(this.name);
}
var p1=new CreatePerson('小白');
p1.showName();
var p2=new CreatePerson('小綠');
p2.showName();
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容