web:js函数的prototype(原型对象)属性
简介
在JavaScript中,每个函数都有一个特殊的属性叫做prototype
(原型),它为对象提供了继承和共享属性的机制。通过原型对象,可以实现属性和方法的共享,从而减少内存占用。
所有的 JavaScript 对象都会从一个 prototype(原型对象)中继承属性和方法。
- 原型是一个对象,它是其他对象的模板或蓝图。
- 当一个对象试图访问一个属性或方法时,如果在该对象自身没有找到,JavaScript 会沿着原型链向上查找,直到找到对应的属性或方法,或者达到原型链的顶端
null
为止。
对象的__proto__属性
每个JavaScript对象(除了null)都自动拥有一个隐藏的属性__proto__,它指向该对象的原型对象。这个__proto__是实现继承的关键。
let obj = {};// 输出: [object Object], 即 obj 的原型是 Object.prototype。
console.log(obj.__proto__);
构造函数和原型
构造函数示例:
function Person(first, last, age, eyecolor) {this.firstName = first;this.lastName = last;this.age = age;this.eyeColor = eyecolor;
}var myFather = new Person("John", "Doe", 50, "blue");
var myMother = new Person("