js 原型继承
来源:互联网 发布:锐捷网络和华为 编辑:程序博客网 时间:2024/05/16 12:37
JavaScript 中的继承可以通过原型链来实现,调用对象上的一个方法,由于方法在 JavaScript 对象中是对另一个函数对象的引用,因此解释器会在对象中查找该属性,如果没有找到,则在其内部对象 prototype 对象上搜索,由于 prototype 对象与对象本身的结 构是一样的,因此这个过程会一直回溯到发现该属性,则调用该属性,否则,报告一个错误。关于原型继承,我们不妨看一个小例子:
function Base(){this.baseFunc = function(){print("base behavior"); }}function Middle(){ this.middleFunc = function(){print("middle behavior"); }}Middle.prototype = new Base();function Final(){this.finalFunc = function(){print("final behavior"); }}Final.prototype = new Middle();function test(){var obj = new Final(); obj.baseFunc(); obj.middleFunc(); obj.finalFunc();}
在 function test 中,我们 new 了一个 Final 对象,然后依次调用 obj.baseFunc,由于 obj 对象上并无此方法,则按照上边提到的规则,进行回溯,在其原型链上搜索,由于 Final 的原型链上包含 Middle,而 Middle 上又包含 Base,因此会执行这个方法,这样就实现了类的继承。
base behaviormiddle behaviorfinal behavior
但是这种继承形式与传统的 OO 语言大相径庭,初学者很难适应,我们后边的章节会涉及到一个比较好的 JavaScript 的面向对象基础包 Base,使用 Base 包,虽然编码风格 上会和传统的 OO 语言不同,但是读者很快就会发现这种风格的好处。 0 0
- JS:原型、原型链、继承
- js 原型继承
- js原型、继承
- JS原型继承实例
- js原型、继承
- js原型、继承
- js原型、继承
- js原型、继承
- js的原型继承
- JS 原型继承
- 再谈js原型继承
- js原型、继承
- 【JS】原型链继承
- js原型继承
- js原型、继承
- js原型、继承
- js原型继承
- js 继承【 原型(prototype)】
- AnjularJS初学(AnjularJS跨域取值)
- ChoseFirst.java
- 大话DFT频谱分析(二)
- 黑马程序员------正则表达式
- IP协议 Header Checksum算法
- js 原型继承
- MonoDevelop代码提示前有个P、C、E。这些标志都代表什么?
- ——黑马程序员——OC中的基本概念
- HDU2546 (01背包)
- sipXecs技术交流QQ群
- ForeResult.java
- 二维码操作第三方库
- PHP编译configure时常见错误
- 用sscanf()从字符串中读数