JavaScript对象继承的方法

写这个话题单纯是给自己做笔记了,不然老忘记。

第一种方法:

    function fn1(x) {
        this.x = x;
    }

    function fn2(x, y) {
        this.tmpObj = fn1;
        this.tmpObj(x);
        delete this.tmpObj;
        this.y = y;
    }

第二种方法:call()或apply()

    function fn1(x) {
        this.x = x;
    }

    function fn2(x, y) {
        fn1.call(this, x);
        this.y = y;
    }

第三种方法:原型链继承

    function fn1(x) {
        this.x = x;
    }

    fn1.prototype.y = function() {
        console.log("i am pomelo");
    }

    function fn2() {}

    fn2.prototype = new fn1();
    fn2.prototype.constructor = fn2;
    var fn2Obj = new fn2();
    fn2Obj.y();

实际用得最多的是第二种和第三种。

    function fn1(x) {
        this.x = x;
    }

    fn1.prototype.z = function() {
        console.log("i am pomelo");
    }

    function fn2(x, y) {
        fn1.apply(this, [x]);
        this.y = y;
    }

    fn2.prototype = new fn1();
    fn2.prototype.constructor = fn2;
    var fn2Obj = new fn2(1024, 2048);
    console.log(fn2Obj.x);
    console.log(fn2Obj.y);
    fn2Obj.z();
时间: 2024-10-11 09:17:48

JavaScript对象继承的方法的相关文章

javascript对象的属性,方法,prototype作用范围分析

读了篇博客感觉很有用"javascript对象的属性,方法,prototype作用范围分析"就自己写了一遍.以后自己可以用的到. 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 2 <html xmlns="http://

创建JAVASCRIPT对象3种方法

创建JAVASCRIPT对象3种方法 方法一:直接定义并创建对象实例 var obj = new Object();    //创建对象实例 //添加属性obj.num = 5;   //添加属性 obj.fn = function( cin ){ return cin;}    //添加方法 访问对象的方法:objectName.methodName() 访问对象的属性:objectName.propertyName 方法二:用函数来定义对象然后创建对象实例 function Class(){

Javascript对象属性与方法汇总

1 Javascript对象属性与方法汇总 2 发布时间:2015-03-06 编辑:www.jquerycn.cn 3 详细介绍下,javascript对象属性与对象方法的相关知识,包括javascript字符串.数组.日期等对象的属性与常用方法,有需要的朋友参考下. 4 本节主要内容: 5 Javascript对象属性与方法 6 7 对Javascript对象属性方法做一个详细的汇总介绍,供jquery中文网的朋友参考. 8 9 数组(Array):系列元素的有序集合 10 属性: 11 l

__x__(64)0925第十天__ JavaScript 对象的 toString() 方法改变输出

JavaScript 对象的 toString() 方法改变输出 在平常,我们 console.log(对象);    // 会打印 [Object Object] 但是我们想要更详细的输出,此时,我们可以重写 对象.toString() 方法 Person.toString = function(){ return "Person ["+this.name+" , "+this.gender+","+this.age+"]"

JavaScript实现继承的方法

JavaScript中要实现继承,其实就是实现三层含义:1.子类的实例可以共享父类的方法:2.子类可以覆盖父类的方法或者扩展新的方法:3.子类和父类都是子类实例的"类型". JavaScript中,并不直接从语法上支持继承,但是可以通过模拟的方法来实现继承,以下是关于实现继承的几种方法的总结:1.构造继承法2.原型继承法3.实例继承法4.拷贝继承法 1.构造继承法:在子类中执行父类的构造函数. 1<SCRIPT LANGUAGE="JavaScript">

Javascript对象----继承

Javascript对象具有"自有属性",也有一些属性是从原型对象继承而来的.为了更好地理解这种继承,必须更深入地了解属性访问的细节. 假设要查询对象o的属性x,如果o中不存在x,那么将会在o的原型对象中查询属性x.如果原型对象中也没有x,但这个原型对象也有原型,那么会继续在这个原型对象的原型上执行查询,直到找到X或者查找到一个原型是null的对象位置.可以看到,对象的原型属性构成了一个"链",通过这个"链"可以实现属性的继承. var o = 

javascript对象常用的方法

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getS

javascript对象继承

实现继承主要是依靠原型链来实现的 1.原型链 基本思想就是利用原型让一个引用类型继承另一个引用类型的属性和方法 1 function Parent(){ 2 this.surname = "li"; 3 } 4 Parent.prototype.getSurname = function(){ 5 return this.surname; 6 } 7 function Child(){ 8 this.name = "kai wen"; 9 } 10 Child.pr

JavaScript 对象继承

原型继承: 这种原型继承的特点:既继承了父类的模板,又继承了父类的原型对象.优点是继承了父类的模板,    又继承了父类的原型对象,缺点就是父类实例传参,不是子类实例化传参,不符合常规语言的写法. 1 function animal(footnum,eyescolor,feathercolor){ //夫类 2 this.foot = footnum; 3 this.eyes = eyescolor; 4 this.feather = feathercolor; 5 } 6 animal.pro