JS——构造对象的几种模式

1)构造函数模式。

        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)混合模型

构造函数模式定义实例属性,而原型模式用于定义方法和共享的属性

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();
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容