JavaScript面向对象:深入继承与多态
67 浏览量
更新于2024-08-31
收藏 80KB PDF 举报
"这篇文章主要探讨了JavaScript中的面向对象编程中的两个关键概念——继承与多态,这是在前文讨论封装的基础上进一步深入的话题。文中通过解释和举例,帮助读者理解相关的基本概念,如变量定义、赋值、作用域以及函数定义等,并通过具体的代码示例展示了函数定义的优先级和变量作用域的规则。"
在JavaScript的面向对象编程中,继承允许一个对象(子类)获取另一个对象(父类)的属性和方法,从而实现代码复用和构建复杂的类层次结构。继承的关键在于子类能够扩展或修改父类的功能,而不必完全重新编写相同的代码。JavaScript中可以通过原型链(prototype chain)实现继承,常见的实现方式有原型继承、构造函数继承、组合继承、寄生式继承、寄生组合式继承等。
多态则是指同一种行为在不同的对象上有不同的表现形式。在JavaScript中,多态通常体现在函数调用上,一个接口(函数名)可以被不同的对象实现,根据调用的对象不同,执行不同的操作。例如,子类可以重写父类的方法,实现自己的功能,这就是方法的重写,体现了多态性。
接着,文章讲解了几个基础概念:
1. 变量定义:通过`var a;`声明变量,只声明变量的作用域,不赋予初始值,未定义或未赋值的变量值为`undefined`。
2. 函数定义:使用`function a() {}`创建函数,定义了函数的作用域及结构,函数定义包括内部变量和函数的递归定义。
3. 变量赋值:如`var a = 1;`,赋值操作在执行阶段进行。
4. 作用域:变量定义确定其作用范围,函数定义优先于变量赋值执行,不会被后续的变量定义覆盖。
通过一段代码示例,作者展示了函数定义的优先级以及变量作用域的规则。这段代码展示了即使变量定义的位置在函数定义之后,函数定义也会先执行,因此在执行`alert(a)`和`alert(b)`时,输出的是函数定义而非变量赋值的值。这强调了理解这些基本概念对于正确理解和使用JavaScript中的继承和多态至关重要。
2021-09-30 上传
2019-03-26 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
weixin_38658085
- 粉丝: 9
- 资源: 948
最新资源
- component-dev-test
- 编辑偏好
- conceitos-do-react
- zendea:使用Go语言编写的免费,开放源代码,自托管的论坛软件官方QQ群:656868
- DESTOON_8.0_BIZ_完整包20210518.zip
- 电子元器件识别(含图片).zip
- framework:个人的、React性的、开放的、私密的、安全的。 拥有和控制您的数据
- 【QGIS跨平台编译】之【MiniZip跨平台编译】:MacOS环境下编译成果(支撑QGIS跨平台编译,以及二次研发)
- mxjs-dropdown-menu
- MLIC:生成可解释的分类规则的新框架
- MusicBox.NET-开源
- 行业分类-设备装置-航拍无人机水上降落平台及降落方法.zip
- RDD:偶然推断RDD复制
- technical_assistant
- 斗地主单机版.zip易语言项目例子源码下载
- asp源码-C9静态文章发布系统 v1.0.zip