JavaScript高级-----显式原型属性、隐式原型属性、原型对象

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/xiaoke5491/article/details/102724288

其实我还没搞明白,先记录下来。

1.所有的实例对象都有隐式原型属性。

2.每一个函数function都有一个prototype显示原型属性。
3.对象的隐式原型的值为其对应构造函数的显式原型的值。
4.函数的prototype属性: 在定义函数时自动添加的, 默认值是一个空Object对象。
5.对象的proto属性: 创建对象时自动添加的, 默认值为构造函数的prototype属性值。
6.function Foo{}等于var Foo = new Function()所以有隐式原型属性,即所有函数都有隐式和显示原型属性。
7.所有函数的隐式原型都相等,都是new Function产生的。
8.function Function()既有显示原型属性也具有隐式原型属性且相同,说明Function=new Function。
9.function Object()的隐式原型等于function Function的显示原型,进一步说明每个函数都是Function的实例(包括他本身)。
10.函数的显示原型指向的对象, 默认是空的Object实例对象,单Object不满足。
注:Function的显示原型也是Object的实例
11.Object原型对象是原型链的尽头,即null

//创建一个构造函数
function person(name){
    this.name=name
}
//创建一个构造函数的实例
var person1=new person;

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
有些混乱,想起来了继续弄明白

猜你喜欢

转载自blog.csdn.net/xiaoke5491/article/details/102724288