JavaScript创建对象的默认方式:组合使用构造函数模式和原型模式

由于 JavaScript中没有类,对象充当着一系列集合的模板,包含着属性和方法,而每个对象中也有一个原型对象,可以存放共享方法和属性 。

创建自定义类型的最常见方式,就是组合使用构造函数模式与原型模式。构造函数模式用于定义实
例属性,而原型模式用于定义方法和共享的属性

    //组合使用构造函数模式(构造函数设置自己的属性)和原型模式(原型设计那些共享的方法和属性)
            
            function Person(name,age,job){
               this.name=name;
               this.age=age;
               this.job=job;
               this.item=['jay','kobe','tom'];
            }
            //原型 存放共享的方法和属性
            Person.prototype={
              constructor:Person,
              sayName:function(){
                 alert(this.name);
              }
            
            }
             var person1 = new Person("Nicholas", 29, "Software Engineer");
             var person2 = new Person("Greg", 27, "Doctor");
             
             person1.item.push('cat');
             alert(person1.item);
             alert(person2.item);
              
              alert(person1.item==person2.item);
              alert(person1.sayName==person2.sayName);