javascript原型链
JavaScript不包含传统的类继承模型,而是使用prototype原型模型。JavaScript中的每个对象都有一个内部私有的链接指向另一个对象,这个对象就是原对象的原型。这个原型对象也有自己的原型,直到对象的原型为null为止(也就是没有原型)。这种一级一级的链结构就称为原型链。https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Guide/Inheritance_and_the_prototype_chain
❶使用原型链的继承方式。
❷两种不同的属性:一种是对象自身的属性,另一种是继承于原型链上的属性。
❸在原型链上查找属性比较耗时,对性能有副作用。另外,试图访问不存在的属性时会遍历整个原型链。
❹遍历对象的属性时,原型链上的每个属性都是可枚举的。
var obj = {a: 1}; // 对象obj继承了Object.prototype上面的所有属性 //原型链: obj ---> Object.prototype ---> null obj.hasOwnProperty('a');//true,hasOwnProperty 是 JavaScript 中唯一一个只涉及对象自身属性而不会遍历原型链的方法。 var arr = ["w", "j", "y"]; // 数组都继承于Array.prototype (indexOf, forEach,等方法都是从它继承而来). // 原型链: arr ---> Array.prototype ---> Object.prototype ---> null
除非为了兼容新JavaScript特性,否则不要扩展原生对象的原型。
http://wangjingyi.iteye.com/blog/2038264
相关推荐
nmgxzm00 2020-11-10
ifconfig 2020-10-14
hhanbj 2020-11-17
zfszhangyuan 2020-11-16
古叶峰 2020-11-16
一个智障 2020-11-15
jipengx 2020-11-12
81427005 2020-11-11
xixixi 2020-11-11
游走的豚鼠君 2020-11-10
苗疆三刀的随手记 2020-11-10
Web卓不凡 2020-11-03
小飞侠V 2020-11-02
帕尼尼 2020-10-30
爱读书的旅行者 2020-10-26
帕尼尼 2020-10-23
杏仁技术站 2020-10-23
淼寒儿 2020-10-22