JavaScript中的原型与原型链

JavaScript中的原型与原型链

JavaScript 中的原型,他是函数对象的属性,同时他也是一个对象,即:prototype,我们称他为原型对象

我们通常说的原型指的是另外一个属性:__proto__,他通常是给浏览器使用的,我们程序员操作的则是 prototype属性

prototype与__ proto__关系

function Foo(){
    
}
const f = new Foo()
console.log(f.__proto__ === Foo.prototype)

如上述代码所述:构造函数的prototype 等于实例对象的 __proto__

JavaScript中的相关规则:

  1. JavaScript 中的所有函数都是 Function 的实例对象
  2. Object.prototype 是顶层原型对象
  3. instanceof是用来构造函数的prototype属性是否出现在某个实例对象的原型链上
function Foo() {

}
const f1 = new Foo()
console.log(Object instanceof Object);
console.log(Object instanceof Function);
console.log(Function instanceof Object);
console.log(f1 instanceof Object);
console.log(f1 instanceof Function);
posted @ 2022-01-11 21:41  走我们钓鱼去  阅读(28)  评论(0编辑  收藏  举报