JS中为什么没有函数重载
创始人
2024-12-25 15:03:27
0次

  函数重载是指在同一作用域内,可以有一组具有相同函数名,不同参数列表(参数个数、类型、顺序)的函数,这组函数被称为重载函数。重载函数通常用来声明一组功能相似的函数,这样做减少了函数名的数量,避免了名字空间的污染,对于程序的可读性有很大的好处。

但是在JS如果不通过一些方法是无法实现重载的,可以从以下两个角度去理解。

  方法签名指的是函数的名称加形参列表,并且通过函数的名称或者形参列表都可以区分出是不同的函数。

  JS中通过形参是没有办法区分出不同的函数的,只能通过函数的名称区分出不同的函数。

  上述实际上是一个函数,后面的函数add会覆盖前面的函数,究其原因还是因为JS是弱类型的语言,a和b实际上都是用var声明的,等价于

  所以在JS中只能通过函数名称来辨别是不是同一个函数,形参是没有用的。

  但是在强类型的语言中就是可以的,例如在c语言中,定义函数时形参必须要指定类型,向里面传值的时候也必须传递指定类型的值。函数名相同,形参名不同的函数也会被认为是不同的函数。

  所以,在C语言这种强类型的语言中是可以实现函数重载的,JS这种弱类型的语言是不可以的。

函数指针

  另一中理解的角度是可以将函数名想象为指针,函数名中存放的是函数体存放的地址。

  最终add实际上指向的是第二个函数,第一个函数被覆盖了,所以最终调用add时调用的也是第二个函数,并不能实现函数的重载。

相关内容

热门资讯

空调连续工作多久需要停机休息 空调连续工作的时间取决于多个因素,包括空调的型号、功率、使用环境和维护情况等。一般来说,空调可以连续...
空调哪个符号是除湿的 空调除湿功能通常用一个水滴形状的符号表示。不同品牌和型号的空调遥控器可能会有所差异,但一般来说,除湿...
格力空调多长时间加一次氟利昂 1、一般情况下,空调对氟利昂的使用量是非常小的,所以在空调使用了四年左右的时候再考虑加也没问题。2、...
空调用多长时间需要加氟一次 一般情况下是五年。当出现以下这几种情况时,空调才需要加氟。1、空调的室内机和室外机各有两个接口,当接...
格调生活·C标思享荟:卡萨帝在... 9月12日的郑州龙湖金融岛,夜风轻拂,灯光璀璨。“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑...
品牌价值破千亿、高端份额持续领... 9月12日,“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑州站”在郑州龙湖金融岛举办。2026...
空调主板坏了修800还是换新的 空调主板坏了是修还是换新,需要考虑多个因素,以下是一些建议:1. 维修成本:如果维修费用较低,比如 ...
空调开多久需要休息多长时间 问题:空调开多久需要休息多长时间回答:1、在使用空调的过程中,一般空调开7~8个小时左右需要休息2~...
中央空调多长时间清洗一次 1、一般空调开机前清洗一次即可,空调开机中间时段再清洗一次,空调关机时清洗一次,这样比较合理。2、空...
中央空调氟利昂多久加一次 看空调制热和制冷程度,很多人的观点认为氟利昂必须一年放一次,其实这个观点是错误的,理解上面有点偏差,...