先定义一个父类的构造函数:
function Rectangle(w,h){
this.width = w; //代表矩形的宽
this.height= h; //代表矩形的高
}
Rectangle.prototype.area=function(){//此定义是构造函数原型对象的一个属性,它代表面积
return this.width * this.height;
}
Rectangle.prototype.toString=function(){//定义一个toString的原型方法
return "["+this.width+","+this.height+"]";
}
定义一个子类的构造函数来继承父类:javascript继承的具体介绍
http://han2000lei.iteye.com/blog/323506
function PositionedRectangle(x,y,w,h){
Rectangle.call(this,w,h); //使用函数的call()方法,以便初始化父类构造函数中的属性
this.x = x;
this.y = y;
}
PositionedRectangle.prototype = new Rectangle();
delete PositionedRectangle.prototype.width;
delete PositionedRectangle.prototype.height;
PositionedRectangle.prototype.constructor = PositionedRectangle;
PositionedRectangle.prototype.toString =function(){//重写父类中的toString方法
return "["+this.x+","+this.y+"]";
}
我们创建子类的一个实例,并调用子类的toString()方法
var pr = new PositionedRedtangle(2,2,8,3);
pr.toString();
上面代码不用解释了,子类调用自己的toString()就是执行的子类下面的toString()方法。我们在进行方法重写时,主要是为了扩展功能,而不是要完全覆盖父类的方法,那么我们如何才能调用父类中的这个方法呢?下面代码 :
PositionedRectangle.prototype.toString=function(){
return "("+this.x+","+this.y+")"+Rectangle.prototype.toString.apply(this);
}
这样,利用apply()方法,从而调用到了父类的toString()方法。具体的apply()方法的作用参考我的文档
http://han2000lei.iteye.com/blog/324680
分享到:
相关推荐
在定义式中,后定义的函数会覆盖先定义的函数,而在声明式中,JavaScript 解释引擎会等到执行调用该变量的代码时才会对变量求值。 二、函数对象 在 JavaScript 中,function 还可以被用做对象,也可以被称为类。在...
使用`Object.getPrototypeOf`的优点在于,即使父类的方法被重写或者删除,只要该方法存在于原型链上,我们仍然能够通过原型对象找到并调用它。这种方式提供了一种灵活的机制,尤其是在处理第三方库或框架时,我们...
本资源是博客《js 动态调用 applet 内的方法》一文示例程序,博客地址:http://blog.csdn.net/defonds/archive/2011/03/23/6270498.aspx。 以下步骤、命令行全都在 jsCallApplet 目录下进行。 步骤一:将 FileApplet...
下面将详细介绍如何在Kotlin中调用JavaScript方法,包括基本概念、外部声明、JavaScript代码嵌入、可选参数处理、类和接口的扩展等知识点。 ### 基本概念 Kotlin语言是静态类型语言,它有着强大的类型系统,而...
JavaScript可以调用浏览器提供的各种API,如定时器(setTimeout、setInterval)、地理位置API、存储API(localStorage、sessionStorage)、WebSocket等,实现丰富的交互功能。 八、错误处理与调试 良好的错误处理和...
在这个示例中,`js访问handler中任意方法`意味着前端JavaScript可以向后端发送特定格式的请求来调用Handler中的任意方法。 ### 2. 使用 Reflection 动态调用方法 在C#中,`System.Reflection`命名空间提供了反射的...
给定代码中,`student`对象被创建并添加了`study`方法,然后调用`study()`会输出“开始学习了”,因此选项A正确。 这些知识点涵盖了JavaScript的基础语法,包括变量声明、数据类型、函数、注释、数组、事件处理以及...
PS:class的调用,其实是可以叠加的,当然了这要求样式不同的情况下,如果样式相同,则后一个样式会覆盖前一个样式。 1、举例如下: 测试关于class的调用 .aaa{ font-size:20px; color:red; } .bbb{ font-size:...
myblur方法被覆盖了!”。因此,当用户点击按钮后,`myblur` 方法被覆盖,再次触发 `onblur` 事件时,会执行新的 `myblur` 函数。 示例代码中的HTML部分包含了两个文本输入框,第一个文本框绑定了最初的 `myblur` ...
### JavaScript中的隐式调用详解 #### 前言 隐式调用是JavaScript中一种较为隐蔽但又非常实用的功能。它是指某些特定情况下,JavaScript引擎自动调用某些方法的过程。这种特性允许开发者通过覆盖默认行为来实现...
这个解决方案系列覆盖了从WebView2的基本介绍到其进程和线程模型,再到运行时的管理以及如何调用网页中的JavaScript方法。 在JavaScript调用C#方法的场景下,关键在于WebView2的`AddHostObjectToScript()`方法。此...
在上面的代码中,首先通过`createTextRange()`方法创建了一个TextRange对象,然后调用`move()`方法将文本光标移动到用户指定的字符位置。`move()`方法第一个参数指定了移动的单位,这里是"character"(字符),第二...
3. **易测试**:封装的方法更容易被单元测试覆盖,保证了代码质量。 在实际操作中,我们可以在Vue实例的`methods`选项中定义这些通用方法,例如: ```javascript new Vue({ el: '#app', data: {}, methods: { ...
例如,当你尝试通过`object.value = someValue`来修改属性`value`时,setter方法会被调用,你可以在这个方法中执行验证、转换或其他操作。这有助于确保数据的完整性,防止非法或无效的值被赋给对象的属性。 getter...
在这个文件中,`fun1`函数被定义,该函数调用了`fun2`和`fun3`中的方法。注意这里使用了`require`函数来加载其他模块,并通过`exports`或`module.exports`来暴露方法供其他模块使用。 ```javascript // fun.js var ...
本文将深入探讨“Node.js-Theseus”这一新型JavaScript调试器,它以其独特的实时代码覆盖率、追溯检查和异步调用树功能,为Node.js开发带来了全新的调试体验。 首先,我们来理解一下“Theseus”的核心特性——实时...
《编写可维护的JavaScript》向开发人员阐述了如何在团队开发中编写具备高可维护性的JavaScript代码,书中详细说明了作为团队一分子,应该怎么写JavaScript。本书内容涵盖了编码风格、编程技巧、自动化、测试等几方面...
4. **JavaScript调用DVR插件**:`js调用dvr插件方法.txt`揭示了一个重要的技术细节,即使用JavaScript来与DVR的客户端插件进行交互。JavaScript是一种广泛用于网页交互的脚本语言,通过它,开发者可以在浏览器环境中...
1. 重写(也叫覆盖,也叫重构):重写方法必须和被重写方法具有相同的方法名称、参数列表和返回值类型;重写方法不能使用比被重写方法更严格的访问权限。重写是类与类之间的关系,两者必须是继承关系。 2. 关键字 `...