1 <script type="text/javascript"> 2 //1、结合使用构造函数模式和原型模式 3 //2、动态原型模式 4 //3、计生构造函数模式 5 6 //创建自定义类型的常见方式就是组合使用构造函数模式和原型模式。构造函数模式用于定义是实例属性,而原型模式用于定义 7 //实例属性,而原型用于定义方法和共享的属性。结果,每个实例都会有自己的副本,但同时又共享着对方法的引用,节省内存。 8 9 function Person(name, age, job) { 10 var _self = this; 11 _self.name = name; 12 _self.age = age; 13 _self.job = job; 14 _self.friends = ["张三", "李四"]; 15 } 16 17 Person.prototype = { 18 constructor: Person, 19 sayName: function () { 20 alert(this.name); 21 } 22 } 23 24 25 var person1 = new Person("徐磊", 23, "IT"); 26 var person2 = new Person("刘德华", 55, "歌手"); 27 28 person1.friends.push("张学友"); 29 alert(person1.friends); 30 alert(person2.friends); 31 alert(person1.friends === person2.friends);//false 32 alert(person1.sayName === person2.sayName);//true 33 34 //待续…… 35 </script>
时间: 2024-10-06 16:41:43