`
qishuai
  • 浏览: 38986 次
  • 性别: 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
分享到:
评论

相关推荐

    JS在子类中用Object.getPrototypeOf去调用父类方法

    使用`Object.getPrototypeOf`的优点在于,即使父类的方法被重写或者删除,只要该方法存在于原型链上,我们仍然能够通过原型对象找到并调用它。这种方式提供了一种灵活的机制,尤其是在处理第三方库或框架时,我们...

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

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

    3000 个javascript 代码集合基本覆盖所有方面

    JavaScript可以调用浏览器提供的各种API,如定时器(setTimeout、setInterval)、地理位置API、存储API(localStorage、sessionStorage)、WebSocket等,实现丰富的交互功能。 八、错误处理与调试 良好的错误处理和...

    Kotlin 语言中调用 JavaScript 方法实例详解

    下面将详细介绍如何在Kotlin中调用JavaScript方法,包括基本概念、外部声明、JavaScript代码嵌入、可选参数处理、类和接口的扩展等知识点。 ### 基本概念 Kotlin语言是静态类型语言,它有着强大的类型系统,而...

    JavaScript中的function使用方法.docx

    在定义式中,后定义的函数会覆盖先定义的函数,而在声明式中,JavaScript 解释引擎会等到执行调用该变量的代码时才会对变量求值。 二、函数对象 在 JavaScript 中,function 还可以被用做对象,也可以被称为类。在...

    js访问handler中任意方法

    在这个示例中,`js访问handler中任意方法`意味着前端JavaScript可以向后端发送特定格式的请求来调用Handler中的任意方法。 ### 2. 使用 Reflection 动态调用方法 在C#中,`System.Reflection`命名空间提供了反射的...

    nodejs入门教程三:调用内部和外部方法示例.docx

    在这个文件中,`fun1`函数被定义,该函数调用了`fun2`和`fun3`中的方法。注意这里使用了`require`函数来加载其他模块,并通过`exports`或`module.exports`来暴露方法供其他模块使用。 ```javascript // fun.js var ...

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

    本文将深入探讨“Node.js-Theseus”这一新型JavaScript调试器,它以其独特的实时代码覆盖率、追溯检查和异步调用树功能,为Node.js开发带来了全新的调试体验。 首先,我们来理解一下“Theseus”的核心特性——实时...

    JavaScript

    给定代码中,`student`对象被创建并添加了`study`方法,然后调用`study()`会输出“开始学习了”,因此选项A正确。 这些知识点涵盖了JavaScript的基础语法,包括变量声明、数据类型、函数、注释、数组、事件处理以及...

    海康官方资料及一般js调用dvr插件方法

    4. **JavaScript调用DVR插件**:`js调用dvr插件方法.txt`揭示了一个重要的技术细节,即使用JavaScript来与DVR的客户端插件进行交互。JavaScript是一种广泛用于网页交互的脚本语言,通过它,开发者可以在浏览器环境中...

    JavaScript函数参数使用带参数名的方式赋值传入的方法

    在JavaScript编程中,函数是核心组成部分,它们的灵活性和功能强大是前端开发不可或缺的特点之一。在编写函数时,参数的传递方式对程序的健壮性和可读性有着直接的影响。传统的JavaScript函数参数传递是基于位置的,...

    Google 地图 JavaScript API 示例

    要使用JavaScript API展示地图,首先需要在HTML页面中创建一个div元素作为地图容器,然后通过调用`google.maps.Map()`函数来初始化地图。你需要提供地图容器的ID和一些配置选项,如中心点坐标、地图类型、缩放级别...

    搭建vue项目配置信息和方法封装调用

    3. **易测试**:封装的方法更容易被单元测试覆盖,保证了代码质量。 在实际操作中,我们可以在Vue实例的`methods`选项中定义这些通用方法,例如: ```javascript new Vue({ el: '#app', data: {}, methods: { ...

    JavaScript中关于class的调用方法

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

    Javascript 面向对象的JavaScript进阶

    JavaScript通过方法覆盖实现了多态性。子类可以覆盖父类的方法,从而根据具体情况进行定制。 **示例代码:** ```javascript function Animal(sound) { this.sound = sound; } Animal.prototype.speak = function...

    javascript中的隐式调用

    数据类型转换是JavaScript中最常见的隐式调用之一。当你尝试对不同类型的变量进行比较或计算时,JavaScript会自动调用`toString`和`valueOf`方法来确保操作能够顺利进行。 ##### `toString`与`valueOf` 在进行相等...

    .NET混合开发解决方案11 WebView2加载的网页中JS调用C#方法.doc

    在JavaScript调用C#方法的场景下,关键在于WebView2的`AddHostObjectToScript()`方法。此方法允许开发者将一个C#对象暴露给JavaScript环境,使得网页代码能够直接调用对象上的方法和访问属性。这样做可以避免在Web端...

    现代JavaScript教程

    JavaScript,作为Web开发的核心技术之一,被广泛用于构建交互式的网页和应用程序。本教程覆盖了从基础概念到高级特性的全面内容,适合从初学者到有经验的开发者进行学习。 一、JavaScript基础知识 JavaScript的基础...

Global site tag (gtag.js) - Google Analytics