文档章节

js继承的几种方式

C
 Carry-YI
发布于 2017/04/22 12:24
字数 275
阅读 3
收藏 0

1、原型继承

"use strict";
/*
* 每一个构造函数都有一个原型对象
* 每一个原型对象都包含一个指向构造函数的指针
* 每一个对象都包含一个指针指向原型对象
* 原型对象==实例对象
* 原型对象就包含一个指针指向原型对象
* 结论:层次递进,就构成了原型链
 */
function GrandFather(){
    this.name = "张三";
}

GrandFather.prototype.getName = function () {
    return this.name;
}

function Parent() {

}

Parent.prototype = new GrandFather();

function Child(){

}

Child.prototype = new Parent();

var child = new Child();
alert(child.getName());

2、构造函数继承

"use strict";
//父子关系,子类的构造函数里调用父类的构造函数
function Parent() {
    this.name = "李四";
    this.age = 12;
}

function Child() {
    Parent.call(this);
}

var child = new Child();
alert(child.name);
alert(child.age);

3、构造函数和原型组合继承

"use strict";
//组合继承(将构造函数和原型链结合在一起)
function Parent() {
    this.name = "李四";
    this.age = 12;
}

Parent.prototype.getName = function(){
    alert(this.name);
}

function Child() {
    Parent.call(this);
}

Child.prototype = new Parent();

var child = new Child();
alert(child.getName());

4、寄生式继承

"use strict";
//寄生式继承
function CreateOther(original){
    var clone = Object(original);
    clone.getName = function () {
        alert(this.name);
    }
    return clone;
}

var person = {
    name:"张三",
    age:"11"
}

var otherPerson = CreateOther(person);
person.getName();

 

© 著作权归作者所有

共有 人打赏支持
上一篇: js作用域
下一篇: 数组的常用方法
C
粉丝 0
博文 6
码字总数 1826
作品 0
深圳
程序员
私信 提问
大家有谁知道JS的类的几种继承方式?

老实说,用到JS,我还真的没有想想过这个问题,上次有人问我的时候,就把我给问到了,JS有几种类的声明方式?类的继承有几种? 我一时之间还真的答不上来呀!

诸葛非卿
2011/09/09
2.3K
11
JS 总结之原型继承的几种方式

在之前的总结中,我们详细分析了原型《JS 总结之原型》,原型很大作用用于模拟继承,这一次,我们来聊原型继承的几种方式。 🌶 前提 以一个父类为前提条件,列举 js 继承的继承方式: 🍖...

Karon_
2018/12/24
0
0
JavaScript继承详解(四)

文章截图 - 更好的排版 在本章中,我们将分析Douglas Crockford关于JavaScript继承的一个实现 - Classical Inheritance in JavaScript。 Crockford是JavaScript开发社区最知名的权威,是JSO...

solu
2010/12/25
0
0
React Native iOS混合开发实战教程

在做RN开发的时候通常离不了JS 和Native之间的通信,比如:初始化RN时Native向JS传递数据,JS调用Native的相册选择图片,JS调用Native的模块进行一些复杂的计算,Native将一些数据(GPS信息,...

JiaPengHui
2018/09/15
0
0
Java程序员从笨鸟到菜鸟之(二十九)javascript对象的创建和继承实现

javascript对象的创建 JavaScript中定义对象的几种方式(JavaScript中没有类的概念,只有对象): 1) 基于已有对象扩充其属性和方法: 2)工厂方式 带参数的构造方法: 让一个函数对象被多个...

长平狐
2012/11/12
39
0

没有更多内容

加载失败,请刷新页面

加载更多

Linux Wireshark普通用户启动使用方案

当系统安装好Wireshark后请正常启动是否可以进行正常使用,如果不行请参考下列指导 向系统添加一个用户组 sudo groupadd wireshark //如提示此组存在可跳过 将指定用户添加到这个组中 sudo...

CHONGCHEN
今天
2
0
CSS 选择器参考手册

CSS 选择器参考手册 选择器 描述 [attribute] 用于选取带有指定属性的元素。 [attribute=value] 用于选取带有指定属性和值的元素。 [attribute~=value] 用于选取属性值中包含指定词汇的元素。...

Jack088
今天
2
0
数据库篇一

数据库篇 第1章 数据库介绍 1.1 数据库概述  什么是数据库(DB:DataBase) 数据库就是存储数据的仓库,其本质是一个文件系统,数据按照特定的格式将数据存储起来,用户可以对数据库中的数据...

stars永恒
今天
4
0
Intellij IDEA中设置了jsp页面,但是在访问页面时却提示404

在Intellij IDEA中设置了spring boot的jsp页面,但是在访问时,却出现404,Not Found,经过查找资料后解决,步骤如下: 在Run/Debug Configurations面板中设置该程序的Working Directory选项...

uknow8692
昨天
4
0
day24:文档第五行增内容|每月1号压缩/etc/目录|过滤文本重复次数多的10个单词|人员分组|

1、在文本文档1.txt里第五行下面增加如下内容;两个方法; # This is a test file.# Test insert line into this file. 分析:给文档后增加内容,可以用sed 来搞定;也可以用while do done...

芬野de博客
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部