`
qishuai
  • 浏览: 36607 次
  • 性别: Icon_minigender_1
  • 来自: 南通
社区版块
存档分类
最新评论

javascript之调用被覆盖的方法

阅读更多
jquery博客这两天在看原生的javascript,看到一些以前没关注到的,留点字迹放博客里,方便以后看看。

当子类定义一个和超类的方法具有相同名字的方法时候,子类的方法会覆盖超类的方法。
在创建已有类的子类时候,这是相对常见事哦。比如,任何时候,当为一个类定义toString()方法时,就会覆盖掉Object的toString()方法。
一个方法覆盖另一个方法的时候,前者经常是要增强被覆盖方法的功能,而不是完全替换其功能。要是做到这一点,方法必须能够调用它所覆盖掉的方法。从某个意义上说,这是一种方法链,就像构造函数链一样。可是调用一个被覆盖的方法比调用一个超类构造函数更难。
弄个例子。比如Rectange类已经定义一个toString()方法
Rectange.prototype.toString=function(){
return “["+this.width+","+this.height+"]“;
}
如果给Rectange一个toString()方法,就必须覆盖掉PositionedRectange中的toString()的方法,以便子类的实例中有一个字符表示能够反映其所有的属性,而不只是width和height属性。PositionedRectange是一个很简单的类,其toString()方法可以只是返回所有属性的值。但是,为方便举例子,让我们处理position属性并将width属性和height属性委托给其超类。
Rectange.prototype.toString=function(){
return “(“+this.x+”,”+this.y+”)”+
Rectange.prototype.toString.apply(this);
}
超类的toString()的实现是超类的原型对象的一个属性。注意,无法直接调用该方法。使用apply()来调用该方法,这样,就可以指定应该基于哪个对象来调用它。

转自 jquery效果 http://www.jqueryba.com/316.html
分享到:
评论

相关推荐

    JavaScript中关于class的调用方法

    PS:class的调用,其实是可以叠加的,当然了这要求样式不同的情况下,如果样式相同,则后一个样式会覆盖前一个样式。 1、举例如下: 测试关于class的调用 .aaa{ font-size:20px; color:red; } .bbb{ font-size:...

    js 动态调用 applet 内的方法示例程序

    本资源是博客《js 动态调用 applet 内的方法》一文示例程序,博客地址:http://blog.csdn.net/defonds/archive/2011/03/23/6270498.aspx。 以下步骤、命令行全都在 jsCallApplet 目录下进行。 步骤一:将 FileApplet...

    Node.js-Theseus-一种新型的JavaScript调试器具有实时代码覆盖率追溯检查和异步调用树

    Theseus - 一种新型的JavaScript调试器具有实时代码覆盖率、追溯检查和异步调用树

    JS动态调用方法名示例介绍

    先看看JS的一个函数 JavaScript eval() 函数 定义和用法 eval() 函数可计算某个字符串,并执行其中的的 JavaScript 代码。... 如果试图覆盖 eval 属性或把 eval() 方法赋予另一

    基于百度地图JavaScript API封装的React组件库

    React-BMap只是利用了React组件的生命周期,来调用对应的百度地图JavaScript Api的方法,比如在componentDidMount和componentDidUpdate的时候在地图上添加覆盖物,componentWillUnmount的时候移除覆盖物,React对应...

    编写可维护的JavaScript(中文)

    11.2.1 不覆盖方法 11.2.2 不新增方法 11.2.3 不删除方法 11.3 更好的途径 11.3.1 基于对象的继承 11.3.2 基于类型的继承 11.3.3 门面模式 11.4 关于Polyfill的注解 11.5 阻止修改 第12章 浏览器嗅探 12.1...

    javascript学习笔记.docx

    f) 继承:只是在查询一个属性时自动发生,而不会在写属性时发生,就是说单写一个父类的属性时,JavaScript环境会为对象本身创建一个同名的属性,从此该属性就覆盖了父类中的属性。 12) 创建一个数组可用 new Array()...

    深入了解JavaScript代码覆盖

    代码覆盖可以显示有关应用程序的哪些部分已被执行的实时信息,而不是使用console.log进行printf-风格的调试或手动执行代码。 或者你可能正在优化速度,并想知道要关注哪些点? 执行次数可以指出关键函数和循环。 ...

    编写可维护的javascript(英文)

    11.2.1 不覆盖方法 11.2.2 不新增方法 11.2.3 不删除方法 11.3 更好的途径 11.3.1 基于对象的继承 11.3.2 基于类型的继承 11.3.3 门面模式 11.4 关于Polyfill的注解 11.5 阻止修改 第12章 浏览器嗅探 12.1...

    zuoxiaobai#zuo11.com#canvas多次fill会覆盖前面的fill的问题1

    "keywords": "canvas多次fill会覆盖前面的fill的问题,ctx.fill覆盖了前一次的fill",canvas 多次fill会覆盖前面的f

    精通javascript

    • 1.3.htm 调用外部JavaScript文件 • 1.3.js 1.3.htm使用的外部JavaScript文件 第2章(\第2章) • 2.1.htm Infinity应用 • 2.2.htm NaN与isNaN()的用法 • 2.3.htm Infinity值...

    精通JavaScript

    • 1.3.htm 调用外部JavaScript文件 • 1.3.js 1.3.htm使用的外部JavaScript文件 第2章(\第2章) • 2.1.htm Infinity应用 • 2.2.htm NaN与isNaN()的用法 • 2.3.htm Infinity值...

    JavaScript中setter和getter方法介绍

    javascript中的setter、getter是平时接触比较少的方法,其本身也并不是标准方法,只在非ie浏览器里支持(ie内核也许有其他方法可以做到呢?暂时不知其解),但是加以利用可以做许多事情,比如: 1、对数据的访问限制...

    实用JavaScript网页特效编程百宝箱

    本书根据Internet的发展趋势,运用当前流行的JavaScript脚本语言,以...随书光盘中提供了全部源代码、素材和浏览效果,方便读者直接调用。 本书内容丰富、覆盖面广、实用性强,适合于各类WWW设计与编程人员参考使用。

    Javascript中eval函数的使用方法与示例

    定义和用法 eval() 函数可计算某个字符串,并执行其中的的 JavaScript 代码。 语法 eval(string) 参数 描述 string 必需。... 方法赋予另一个属性,并通过该属性调用它,则 ECMAScript 实现允许抛

    jsdb:用于小型Web应用程序的透明的,内存中的,流式更新写入式JavaScript数据库,可持久存储在JavaScript事务日志中

    透明:如果您知道如何使用JavaScript中的数组和对象以及调用方法,那么您已经知道如何使用JSDB?它没有被称为JavaScript数据库。 自动:可以正常工作。没有配置。 100%代码覆盖率:经过严格测试。请注意,这并不...

    Javascript编程之继承实例汇总

    本文实例讲述了Javascript编程之继承。分享给大家供大家参考,具体如下: 这篇文字是在看完《Javascript 王者归来》后的整理总结,文章详细章节在 第21章 P537 继承一般要实现以下三层含义: 1)子类实例可以共享...

    JavaScript-Lint-Tools:适用于TextMate 2JavaScript Lint Tools捆绑包

    使用Cmd + S保存JavaScript文件时自动调用。 仅当文件以用于选择/*jshint*/的注释开头时,才会验证该文件: /*jshint*/或/*jslint*/ 。 支持提供linting选项的常用语法,例如/*jslint white, for */ 。 Validate ...

    jsgc:尝试为客户端 Javascript 构建 plaicollector 和 plaimutator 克隆

    与 Scheme 不同,这些函数被嵌入到语言中,因此覆盖它们会变得更加复杂。 Plai/collector 能够通过使用宏将所有分配包装在对提供的垃圾收集器的调用中来实现它所做的。 为了达到同样的目的,我将尝试使用将程序解构...

    react-bmap:基于百度地图JavaScript API封装的React组件库

    React-BMap只是利用了React组件的生命周期,来调用对应的百度地图JavaScript Api的方法,比如在componentDidMount和componentDidUpdate的时候在地图上添加覆盖物,componentWillUnmount的时候移除覆盖物,React对应...

Global site tag (gtag.js) - Google Analytics