首页 > 代码库 > JavaScript对象 创建对象(二)

JavaScript对象 创建对象(二)

组合使用构造函数和原型模式创建对象

        function Person(name, age, job){            this.name = name;            this.age = age;            this.job = job;            this.friends = ["Shelby", "Court"];        }                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.friends.push("Van");                alert(person1.friends);    //"Shelby,Court,Van"        alert(person2.friends);    //"Shelby,Court"        alert(person1.friends === person2.friends);  //false        alert(person1.sayName === person2.sayName);  //true

实例属性在构造函数中定义,而由所有实例共享的属性constructor和sayName则是在原型中定义。