怎么体现js继承关系


本文摘自PHP中文网,作者(*-*)浩,侵删。

JS作为面向对象的弱类型语言,继承也是其非常强大的特性之一。那么如何在JS中实现继承呢?让我们拭目以待。

js里常用的如下两种继承方式:

原型链继承(对象间的继承)

类式继承(构造函数间的继承)

由于js不像java那样是真正面向对象的语言,js是基于对象的,它没有类的概念。所以,要想实现继承,可以用js的原型prototype机制或者用apply和call方法去实现

在面向对象的语言中,我们使用类来创建一个自定义对象。然而js中所有事物都是对象,那么用什么办法来创建自定义对象呢?这就需要用到js的原型:

我们可以简单的把prototype看做是一个模版,新创建的自定义对象都是这个模版(prototype)的一个拷贝 (实际上不是拷贝而是链接,只不过这种链接是不可见,新实例化的对象内部有一个看不见的__Proto__指针,指向原型对象)。

js可以通过构造函数和原型的方式模拟实现类的功能。 另外,js类式继承的实现也是依靠原型链来实现的。

原型式继承与类式继承

类式继承是在子类型构造函数的内部调用超类型的构造函数。

严格的类式继承并不是很常见,一般都是组合着用:

1

2

3

4

5

6

7

function Super(){

    this.colors=["red","blue"];

}

  

function Sub(){

    Super.call(this);

}

原型式继承是借助已有的对象创建新的对象,将子类的原型指向父类,就相当于加入了父类这条原型链

原型链继承

为了让子类继承父类的属性(也包括方法),首先需要定义一个构造函数。然后,将父类的新实例赋值给构造函数的原型。代码如下:

阅读剩余部分

相关阅读 >>

vue 动态加载 vuex

js是什么语言

html5+js绘制流星雨的示例代码分享

js实现统计字符出现的次数并去重的方法

详解使用minify压缩css和js文件

js如何实现简易倒计时效果

利用js实现自定义右键菜单插件

js中行内style怎么写?

js怎么将字符串转为数组?

javascript如何替换中间内容

更多相关阅读请进入《js》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...