标签:__ 属性 proto JS 原型 prototype 构造函数
JS原型与原型链
-
每个函数都有一个prototype属性,被称为显示原型
-
构造函数
-function Fn(){ } 大写表示构造函数
-
每个实例对象都有一个的__proto__属性,被称为隐式原型
-
每个函数都有constructor属性,指向他关联的构造函数
检测对象自身有没有属性的方法
hasOwnPrototype
isPrototype
- 检测某个属性是否在这个实例上,返回的布尔类型的值,有的话则返回true,否则是fasle
- 构造函数的原型prototype是由Object构造出来的
- constructor可以检测数据类型,但是不准确,容易被篡改
原型链
- 获取对象属性时,如果对象本身没有这个属性,那就会去他的原型__proto__上去找,如果还查不到,就去找原型的原型,一直找到最顶层(Object.prototype)为止。Object.prototype对象也有__proto__属性值为null。
- 对象必然有_proto_属性,但不一定有prototype;实例的对象通过_proto_属性连接到构造函数的prototype属性上。而原型链就是从这两者的关系开始一层一层
往下找的关系
标签:__,属性,proto,JS,原型,prototype,构造函数 来源: https://blog.csdn.net/confidence_fy/article/details/120121567
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。