javascript继承(call方法)机制的两种实现

  • 内部实现:
    function ClassA(sColor) {
    this.color = sColor
    this.sayColor = function () {
        console.log(this.color)
    }
    }
    function ClassB(sName) {
    this.name = sName
    this.sayName = function () {
        console.log(this.name)
    }
    }
    function ClassC(sColor, sName) {
    ClassA.call(this,sColor)
    ClassB.call(this,sName)
    }
    var objA = new ClassA("blue")
    var objC = new ClassC("red", "John")
    objA.sayColor()
    objC.sayColor()
    objC.sayName()
  • 外部实现:
    function ClassA(sColor) {
    this.color = sColor
    this.sayColor = function () {
        console.log(this.color)
    }
    }
    function ClassB(sName) {
    this.name = sName
    this.sayName = function () {
        console.log(this.name)
    }
    }
    function ClassC(sColor, sName) {
    }
    var objA = new ClassA("blue")
    var objC = new ClassC()
    ClassA.call(objC,‘red‘)
    ClassB.call(objC,‘John‘)
    objA.sayColor()
    objC.sayColor()
    objC.sayName()
  • 输出:
    blue
    red
    John
  • 原文地址:http://blog.51cto.com/12173069/2108735

    时间: 2024-11-08 00:49:12

    javascript继承(call方法)机制的两种实现的相关文章

    Javascript使用function创建类的两种方法

    1.使用function类 //myFunction.js var CMyFunc=function() { //类的公共方法,供外部调用 this.Func1=function() { var i=0; return i; } this.Func2=function() { _privateFunc(); } //类中的私有方法,供公共方法调用 function _privateFunc() { return 0; ] } CMyFunc myFunc=new CMyFunc(); 使用:其它

    JavaScript强化教程——DOM编程(两种控制div移动的方法)

    本文为H5EDU机构官方HTML5培训教程,主要介绍:JavaScript强化教程--DOM编程(两种控制div移动的方法) 第一种 按钮控制首先 创建两个html按钮和一个div并给div一个样式 input type="button" value="左" id="1"> <input type="button" value="右" id="2"> <div i

    javascript 继承实现方法

    1. [代码][JavaScript]代码     //1.对象冒充//说明:构造函数使用this关键字给所有属性和方法赋值(即采用类声明的构造函数方式).因为构造函数只是一个函数,所以可使ClassA的构造函数成为ClassB的方法,然后调用它.ClassB就会收到ClassA的构造函数中定义的属性和方法.function ClassA(sColor) {this.color = sColor;this.showColor = function() {alert(this.color);};}

    javascript消除字符串两边空格的两种方式,面向对象和函数式编程

    主要是javascript中消除字符串空格,比较两种方式的不同 //面向对象,消除字符串两边空格 String.prototype.trim = function() { return this.replace(/(^\s*)|(\s*$)/g, ""); }; //去左右空格的函数; function trim(s){ return s.replace(/(^\s*)|(\s*$)/g, ""); }调用消除空格的两种方式. var defualtPhone =

    python中package机制的两种实现方式

    当执行import module时,解释器会根据下面的搜索路径,搜索module1.py文件. 1) 当前工作目录 2) PYTHONPATH中的目录 3) Python安装目录 (/usr/local/lib/python) 事实上,模块搜索是在保存在sys.path这个全局变量中的目录列表中进行搜索. sys.path会在解释器开始执行时被初始化成包含: 1)当前工作目录 2) PYTHONPATH中的目录 3) Python安装目录 (/usr/local/lib/python) pack

    Eclipse中注释方法操作(两种)

    Eclipse 中的两种注释方法:(1)多行注释 /* */ (2)单行注释 // 多行注释操作方法. 选中注释部分-菜单栏右上角 source: Add block comment.必须选中需要注释的部分才可以. 也可以利用快捷键 ctrl + shift  + / 第二种方法就是 选中注释的行,ctrl + shfit + c: 取消注释的方法:对于ctrl + shift  + / , 可以ctrl + shift  + \, 如果是ctrl + shfit + c,则只需要在选中 ctr

    JavaScript中一个方法同时发送两个ajax请求问题

    今天在做项目中遇到一个问题,大概是在一个jsp页面同时有一个select下拉搜索条件框和一个Bootstrap表格展示列表.这两个都要通过ajax向后台拿数据,而且要在页面加载时完成.当时的做法是: $(function() { // 加载下拉菜单 selectMenu(); /** 加载页面表格 */ var url = 'xxxx.do'; var col = [ { checkbox : true }, { field : 'operlogid', title : 'xxx', forma

    win7设置电脑保护眼睛颜色(终极方法,提供两种颜色选择)

    整了大半天终于把电脑的保护色设置好了.方法如下: 主要是替换文件C:\Windows\Resources\Themes\Aero\Shell\NormalColor\shellstyle.dll,按下文档中的步骤替换即可. 具体的方法在下载文件中有个word文档.请务必按照步骤来.否则可能不成功. 文档中提供了两种颜色,根据个人喜好替换. 备注:请将dll中的(**)去掉,即:改为shellstyle.dll 下载无需积分. 文件下载地址:http://download.csdn.net/det

    C# 用Serializer.ToXml()方法转换成两种格式的XML

    常见XML格式两种: 这种是属性的格式,实体的Model属性上面加上这个特性 [XmlAttribute] <AAA aa="11" bb="22"/> 这种是标签的格式,实体的Model属性上面加上这个特性[XmlElement(ElementName = "显示的名字")] <AAA> <aa>11<aa/> <bb>22<bb/> <AAA/> 原来在VS中