关于JS多态中的重载问题分析
来源:互联网 发布:并发编程研究内容 编辑:程序博客网 时间:2024/05/22 19:08
在一些后台的面向对象的编程语言中,例如Java 、c#等里面出现的函数多态的重载的概念都是指的是,方法名相同,但是参数参数不同,叫做方法的重载。
上代码帮助理解。
public void sum(int num1,int num2){ //CODE}public void sum(int num1){ //CODE}public void sum(int num1,string str){ //CODE}sum(12,23); \\执行第一个函数sum(12); \\执行第二个函数sum(12,'zhufeng'); \\ 执行第三个函数
但是在JS中并没有严格意义上的重载,因为JS中如果方法名出现了重复,那么后来出现的将会覆盖前面的同名的方法,只能保留一个(和实参没有关系)。
但是JS中有所谓的重载(非严格意义上的重载):指的是,同一个方法,通过传递实参的不同(arguments)我们完成不同的功能,我们把这个也可以理解为重载。
上代码帮助理解
function(num1,num2){ return num1+num2;}function(){ var total=null; var ary =Array.prototype.slice.call(arguments); return eval(ary.join('+'));}sum(20,20);sum(10,20,30);不管哪一次执行,都是第二个sum
综上所述,JS是面向对象编程语言,具有的类的封装、多态和继承。但但是,JS中的多态中没有严格意义上的重载,只有类似后台语言中的重载,并且是通过实参传递的不同个数,而实现类似重载的效果。。。
阅读全文
0 0
- 关于JS多态中的重载问题分析
- 关于C++中的重载和多态
- 关于js的函数重载的问题
- 关于重载和重写、多态问题
- 关于JS中的&&和||问题
- js中的函数参数个数问题(重载问题)
- 关于JS的重载
- JS中的重载
- js 重载问题
- JS重载问题
- 关于重载的问题
- 关于重载问题
- 关于js中的贪婪匹配的问题
- 关于js去除字符串中的空格问题
- 关于JS中的系统路径的问题
- 关于JS中的eval()函数问题
- 关于js中的this的指向问题
- js中的function不存在重载
- scrapy常用的指令总结
- 单链表
- 解压版软件小娜搜索不到问题的解决
- c++实现字符串的深拷贝
- java 反射机制-学习笔记(6)
- 关于JS多态中的重载问题分析
- 计算机网络实验三 :CRC 校验 [17/11/08]
- 练习
- 处理高并发、高访问之Apache优化
- nginx配置虚拟主机相关教程
- android studio 3.0 mac 安装包下载
- STM32F10x_硬件I2C主从通信(轮询发送,中断接收)
- C++之函数的声明和定义
- bzoj1583 [Usaco2009 Mar]Moon Mooing 哞哞叫