> 情感
前端什么是原型链(原型和原型链的理解前端面试)
导语:前端系列——原型和原型链
1、原型(prototype)、原型链(__proto__)
[函数]
普通函数、类(所有的类:内置类、自己创建的类)
[对象]
普通对象、数组、正则、Math、arguments...
实例是对象类型的(除了基本类型的字面量创建的值)
prototype的值也是对象类型的
函数也是对象类型的
...
a. 所有的函数数据类型都天生自带一个属性:prototype(原型),这个属性的值是一个对象,浏览器会默认给它开辟一个堆内存.
b. 在浏览器给prototype开辟的堆内存中有一个天生自带的属性:constructor,这个属性存储的值是当前函数本身.
c. 每一个对象都有一个__proto__的属性,这个属性指向当前实例所属类的prototype(如果不能确定它是谁的实例,都是Object的实例).
function Fn() {
var n = 100;
this.AA = function () {
console.log(`AA[私]`);
};
this.BB = function () {
console.log(`BB[私]`);
};
}
Fn.prototype.AA = function () {
console.log(`AA[公]`);
};
var f1 = new Fn;
var f2 = new Fn;
console.log(f1.n);
本文内容由小芦整理编辑!