概述
1、 主要有以下三点:
- 函数(或构造函数)身上才有 prototype (prototype名字叫原型,原型是一个对象);
- 而其他任何通过构造函数实例化出来的对象(不包括null、undefined)身上都有 proto(__proto__是隐式原型,隐式原型也一个对象)
- 实例化对象的__proto__ 就是 构造函数的 prototype (===关系)
附:undefind 和 null 既没有prototype也没有 proto ,因为它俩不是函数,也不是函数实例化出来的对象
具体说明如下:
- 函数(或构造函数)身上才有 prototype (prototype名字叫原型,原型是一个对象);
例如:String、Number、Boolean、Array、Object
- 而其他任何通过构造函数实例化出来的对象(不包括null、undefined)身上都有 proto(__proto__是隐式原型,隐式原型也一个对象)
例如:
‘a’ 是通过String函数实例化出来的对象(这里包括以下说的对象不是Objcet数据类型)
4 是通过Number函数实例化出来的对象
true是通过Boolean函数实例化出来的对象
[1,2,3]是通过Array函数实例化出来的对象
{}是通过Objec函数实例化出来的对象
- 实例化对象的__proto__ 就是 构造函数的 prototype
例如:
‘a’.proto === String.protptype //true
true.proto === Boolean.prototype //true
最后
以上就是端庄篮球为你收集整理的prototype和__proto__ 的关系的全部内容,希望文章能够帮你解决prototype和__proto__ 的关系所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复