原型与原型链
程序员文章站
2022-05-08 16:46:05
...
对象
JavaScript 中,万物皆对象!但对象也是有区别的。分为普通对象和函数对象
var o1 = {};
var o2 = new f1();
function f1(){};
console.log(typeof o1); //object
console.log(typeof o2); //object
console.log(typeof f1); //function
o1 o2 为普通对象,f1函数对象
原型对象
JavaScript 中,每当定义一个对象时候对象中都会包含一些预定义的属性.普通对象有_proto_属性,而函数对象具有prototype属性,指向函数的原型对象.
每个对象都有 __proto__ 属性,但只有函数对象才有 prototype 属性
function Person(){};
var A = Person.prototype;
A为Person的原型对象.
A 有一个默认的
constructor
属性,这个属性是一个指针,指向 Person.Person.prototype.constructor=Person;
下面用三张简单的图,配合一些示例代码来理解一下。
一、prototype和__proto__的区别
参考:https://www.jianshu.com/p/dee9f8b14771参考:https://www.cnblogs.com/shuiyi/p/5305435.html
上一篇: 原型