`
liyaojin
  • 浏览: 2785 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
最近访客 更多访客>>
社区版块
存档分类
最新评论

javascript继承的基本写法

阅读更多
/*

* 类继承的基本写法

* 1:构造函数用来new一个类对象,并且可以传递参数

* 2:给类名的prototype对象赋值,用来表示从一个其他类继承

* 3:重新给类的prototype对象的constructor指针赋值,用来重新定位其构造函数

* 4:需要注意的var p = new parent();p相当于parent.prototype对象的一个实例,只是指向了一次

* 构造函数,进行了一些初始值的赋值

* */

function parent(name,age,sex){

    this.name = name;

    this.age = age;

    this.sex = sex;

}



//这种写法相当于让parent类从一个自定义的object类继承了

parent.prototype = {

    /*这里相当于一个自定义的object*/

    name:"",

    age:"",

    sex:"",

    say:function(){

        window.alert(this.name + "\n" + this.age + "\n" + this.sex);

    }

}

//这行代码用来重新指定parent类的构造函数指针指向的对象,

//如果没有该行代码则var p = new parent(); p.constructor指向的是object(){}也就是

//其所在类的prototype对象的constructor

parent.prototype.constructor = parent;





function child(name,age,sex,work){//定义子类的构造方法

    this.supperClass.call(this,name,age,sex);//调用父类的构造方法

    this.work = work;//加入自己的属性赋值

}



child.prototype = new parent();//new parent()相当于上面的{},{}相当于new Object(){}

child.prototype.supperClass = parent;//可以在子类中加入一个自定义的superClass表示其对应父类

child.prototype.say=function(){//自己的方法逻辑

    alert(this.name + "\n" + this.age + "\n" + this.sex + "\n" + this.work);

}

child.prototype.constructor = child;


调用方式:
var p = new parent();
p.say();
var c = new child();
c.say();

0
0
分享到:
评论

相关推荐

    JavaScript继承与多继承实例分析.docx

    1. **JavaScript继承** - **原理**:JavaScript的继承主要是通过原型链(prototype chain)来实现的。每个JavaScript对象都有一个内部属性[[Prototype]],通常可以通过`__proto__`访问,或通过`Object....

    JavaScript类的写法

    早期的javascript需求都很简单,基本都是写成函数的,然后是面向过程的写法,后来慢慢的引入面向对象开发思想,再后来就慢慢写成类。 在js中,写成类的本质基本都是 构造函数+原型。下面,就讨论一下js类的几种写法...

    详解JavaScript的另类写法

    本篇详解将介绍几种JavaScript的另类写法,涵盖了匿名函数、取整技巧、条件判断、字符串拼接、模块定义和继承机制等方面。这些技巧可以帮助开发者优化代码,并在团队中形成统一的代码规范。 首先,JavaScript中的...

    Javascript 程序设计基础教程(第2版)_习题答案

    本教程的第二版习题答案旨在帮助学习者深入理解JavaScript的基本概念、语法和功能,以提升编程技能。 首先,JavaScript的核心知识点包括变量、数据类型、运算符和控制流程。变量是存储数据的容器,JavaScript支持六...

    狂神说系列 JavaScript笔记

    - 变量与数据类型:JavaScript支持动态类型,包括基本类型(如数字、字符串、布尔值)和引用类型(如对象和数组)。了解如何声明变量(var、let、const)和类型转换至关重要。 - 运算符:包括算术运算符、比较...

    JavaScript 帮助 学习 文档

    此外,JavaScript的原型继承和类(ES6引入)提供了面向对象编程的机制。理解对象的创建、原型链、继承和构造函数,对于构建复杂的程序结构至关重要。 JavaScript还有许多库和框架,如jQuery简化DOM操作,React.js和...

    Javascript面向对象编程.

    4. **类(Class)**:ES6引入了类语法糖,使得JavaScript的面向对象更加符合传统面向对象语言的写法,但实际上,这些“类”仍然基于原型实现。 ```javascript class Person { constructor(name) { this.name = ...

    JavaScript手册-中文文档

    - 变量与数据类型:JavaScript支持基本的数据类型如字符串、数字、布尔值,以及复杂数据类型如对象和数组。 - 表达式与操作符:包括算术、比较、逻辑和赋值等操作符,以及表达式的运算规则。 - 控制流:如条件...

    JavaScript面向对象编程指南(第2版).rar

    7. 继承模式:浅谈原型链继承、寄生组合继承、原型式继承等常见的JavaScript继承模式。 8. 多态实践:通过函数重载、鸭子类型等方式实现多态性。 9. 静态方法与静态属性:类中定义的静态方法和属性,不依附于实例...

    JavaScript 语言基础知识点总结(思维导图)

    async/await 是 ES7 引入的语法糖,使得异步代码更接近同步写法。 10. 错误处理: 使用 `try...catch...finally` 语句块来捕获和处理运行时错误,`throw` 语句用于抛出自定义错误。 11. 模块系统: ES6 引入了...

    javaScript核心原理

    对象是JavaScript中最基本的数据类型之一,它是属性的集合。这些属性可以是其他对象、函数或者原始数据类型(如字符串、数字等)。每个对象都有一个单一的原型对象(prototype object),该原型对象可以是另一个对象或...

    javascript高级代码例子

    2. **原型链(Prototype Chain)**:JavaScript对象基于原型进行继承,每个对象都有一个`__proto__`属性,指向创建它的构造函数的原型。通过原型链,子对象可以访问父对象的所有属性和方法,实现代码复用。 3. **...

    Javascript征途

    虽然JavaScript不是一种传统的面向对象语言,但它提供了原型继承和构造函数等机制来实现面向对象编程。书会详细解释如何创建对象、原型链的工作原理以及如何使用class关键字进行类的模拟。 JavaScript的事件驱动...

    JavaScript自学教程

    原型链是JavaScript实现继承的方式,通过__proto__属性或Object.getPrototypeOf方法访问。理解原型和原型链对于掌握JavaScript的面向对象编程至关重要。 再者,JavaScript中的作用域和闭包是两个关键概念。作用域...

    JavaScript(二)

    JavaScript有七种基本数据类型:Undefined、Null、Boolean、Number、BigInt、String和Symbol,以及一种复杂数据类型——Object。 二、控制结构 1. 条件语句:`if...else`用于条件判断,`switch...case`提供多分支...

    Javascript中对象继承的实现小例

    文档随后介绍了原型模式(Prototype Pattern)在JavaScript继承中的应用。在JavaScript中,每个对象都拥有一个原型对象,并且可以从中继承属性。原型模式通过修改对象原型来添加新属性或方法,以此实现对所有对象...

    javascript高级编程

    首先,我们要理解JavaScript的基本语法和数据类型,包括变量、常量、字符串、数字、布尔值以及更复杂的对象和数组。在JavaScript中,万物皆为对象,这是其独特之处。掌握如何声明、定义和操作这些基本类型是编程的...

    JavaScript书中的源码

    源码中可能包含了对这些基本概念的实例演示,比如如何使用var、let和const声明变量,以及如何理解和运用函数表达式和函数声明。 其次,深入理解原型和原型链是JavaScript学习的重要环节。书中源码可能会展示如何...

    详解Vue 单文件组件的三种写法

    这种写法使得类的继承、混入等面向对象的特性得以应用到Vue组件中,使得组件的逻辑更加清晰和有组织。 第三种写法是结合了TypeScript的类写法。TypeScript是JavaScript的一个超集,提供了静态类型检查等高级特性,...

Global site tag (gtag.js) - Google Analytics