Javascript 继承与原型链

涉及到继承这一块,Javascript 只有一种结构,那就是:对象。

在 javaScript 中,每个对象都有一个指向它的原型(prototype)对象的内部链接。

这个原型对象又有自己的原型,直到某个对象的原型为 null 为止(也就是不再有原型指向),

组成这条链的最后一环。

这种一级一级的链结构就称为原型链(prototype chain)

 

继承属性--

Javascript对象是动态"bags"属性(称为自己的属性)。JavaScript对象有一个原型对象的链接。
当尝试访问一个对象的属性,属性将不仅是寻求对象,
而是基于对象的原型,原型的原型,直到找到具有匹配名称的任何属性或原型链底达成。
继承方法--
JavaScript 并没有其他基于类的语言所定义的“方法”。
在 JavaScript 里,任何函数都可以添加到对象上作为对象的属性。
函数的继承与其他的属性继承没有差别,包括上面的“属性遮蔽”(这种情况相当于其他语言的方法重写)。
当继承的函数被调用时, this 指向的是当前继承的对象,而不是继承的函数所在的原型对象。
----------
在用原型继承编写复杂代码前理解原型继承模型十分重要
同时,还要清楚代码中原型链的长度,并在必要时结束原型链,以避免可能存在的性能问题。
此外,除非为了兼容新 JavaScript 特性,否则,永远不要扩展原生的对象原型。

转载于:https://www.cnblogs.com/funnyweb/p/6196205.html

你可能感兴趣的:(javascript,ViewUI)