1: function Person (name,age) {
2: this.name = name;
3: this.age = age;
4: }
5:
6: Person.prototype = {
7: constructor : Person, // 原型{}这种格式得重新定义指向 要不然默认是Object
8: getInfo: function() {
9: return 'A ' + this.name + ' ' + this.age + '.';
10: }
11: };
12:
13: var p = new Person('Lily',18);
14:
15: /**
16: * Person的prototype属性指向Person的prototype对象
17: * Person的实例p的__proto__属性指向Preson的prototype对象
18: * Preson的prototype对象的constructor属性指向Person
19: */
20: console.log(p.constructor); // Person
21: console.log(p.__proto__ == Person.prototype); // true
22: console.log(p.__proto__.constructor == Person); // true p.__proto__ 指向Person的prototype对象 Person的prototype对象constructor属性指向Person构造器
23:
24: //Object.create EcmaScript5 以上有
25: var Person2 = Object.create(p); //复制对象
26: console.log(Person2.name);// Lily
27: Person2.age = 20;
28: console.log(Person2.age);// 20
29: console.log(p.age);// 20
30:
31: var o1 = Object.create({x:1, y:2});
32: var o2 = Object.create(Object.prototype);
33: console.log(o2);
34: console.log(new Object());
1: function Person (name,age) {
2: this.name = name;
3: this.age = age;
4: }
5:
6: Person.prototype = {
7: constructor : Person, // 原型{}这种格式得重新定义指向 要不然默认是Object
8: getInfo: function() {
9: return 'A ' + this.name + ' ' + this.age + '.';
10: }
11: };
12:
13: var p = new Person('Lily',18);
14:
15: /**
16: * Person的prototype属性指向Person的prototype对象
17: * Person的实例p的__proto__属性指向Preson的prototype对象
18: * Preson的prototype对象的constructor属性指向Person
19: */
20: console.log(p.constructor); // Person
21: console.log(p.__proto__ == Person.prototype); // true
22: console.log(p.__proto__.constructor == Person); // true p.__proto__ 指向Person的prototype对象 Person的prototype对象constructor属性指向Person构造器
23:
24: //Object.create EcmaScript5 以上有
25: var Person2 = Object.create(p); //复制对象
26: console.log(Person2.name);// Lily
27: Person2.age = 20;
28: console.log(Person2.age);// 20
29: console.log(p.age);// 20
30:
31: var o1 = Object.create({x:1, y:2});
32: var o2 = Object.create(Object.prototype);
33: console.log(o2);
34: console.log(new Object());
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步