示例
function Person(name, age) {
this.name = name;
this.age = age;
}
// prototype用法:所有实例对象需要共享的属性和方法定义在原型对象上
//原型对象上绑定一个方法say
Person.prototype.say = function() {
console.log("我是", this.name);
};
//原型对象上绑定一个方法sex
Person.prototype.sex = 'male';
var p = new Person("张三", 18);
p.say(); //我是张三
// 1.实例对象的constructor指向其构造函数
console.log(p.constructor === Person); //true
// 2.构造函数的prototype可以被所有实例对象调用
var p2 = new Person("李四", 20);
p2.say(); //我是李四
console.log(p.say === p2.say); //true
// 3.所有实例的sex属性和say方法都是同一个内存地址,都指向prototype对象
console.log(p.sex === p2.sex);
总结
1.实例对象的constructor指向其构造函数
2.构造函数的prototype可以被所有实例对象调用
3.所有实例的sex属性和say方法都是同一个内存地址,都指向prototype对象
prototype用法:所有实例对象需要共享的属性和方法定义在原型对象上
本文介绍了JavaScript中构造函数和原型的使用方式。通过实例详细解释了如何利用构造函数创建对象,以及如何通过原型来实现对象间方法和属性的共享。

被折叠的 条评论
为什么被折叠?



