美文网首页
这才是JavaScript没有重载的真正原因?

这才是JavaScript没有重载的真正原因?

作者: 前端精髓 | 来源:发表于2017-03-31 17:25 被阅读48次

没有重载

ECMAScript函数不能像传统意义上那样实现重载。而在其他语言(如Java)中,可以为一个函数编写两个定义,只要这两个定义的签名(接受的参数的类型和数量)不同即可。如前所述,ECMAScirpt函数没有签名,因为其参数是由包含零或多个值的数组来表示的。而没有函数签名,真正的重载是不可能做到的。如果在ECMAScript中定义了两个名字相同的函数,则该名字只属于后定义的函数。请看下面的例子:

function addSomeNumber(num){

return num + 100;

}

function addSomeNumber(num) {

return num + 200;

}

var result = addSomeNumber(100);    //300

在此,函数addSomeNumber()被定义了两次。第一个版本给参数加100,而第二个版本给参数加200。由于后定义的函数覆盖了先定义的函数,因此当在最后一行代码中调用这个函数时,返回的结果就是300。

小结:

如前所述,通过检查传入函数中参数的类型和数量并作出不同的反应,可以模仿重载。

本文由web前端精髓为您提供

相关文章

  • 这才是JavaScript没有重载的真正原因?

    没有重载 ECMAScript函数不能像传统意义上那样实现重载。而在其他语言(如Java)中,可以为一个函数编写两...

  • JavaScript函数重载

    说明 JavaScript 中没有真正意义上的函数重载。 函数重载 函数名相同,函数的参数列表不同(包括参数个数和...

  • js的重载

    javascript中书上的介绍说是没有重载的,实际上利用闭包是可以用重载的。 添加find的方法的重载。 add...

  • 初识JavaScript函数Arguments模拟重载

    在 JavaScript 中并没有重载函数的功能,但每个函数中的 Arguments 对象可以模拟重载的实现。 1...

  • JS中arguments

    了解这个对象之前先来认识一下javascript的一些功能: 其实Javascript并没有重载函数的功能,但是A...

  • JS逆向:arguments 的含义和用法

    了解这个对象之前先来认识一下javascript的一些功能: 其实Javascript并没有重载函数的功能,但是A...

  • 2019-08-27

    Javascript的多态性 1.js不支持重载 /*****************说明js不支持重载*****...

  • 02-JavaScript

    一、基础 1.函数的arguments 其实Javascript并没有重载函数的功能,但是Arguments对象能...

  • 函数迈出三小步(三)

    六、函数重载 6.1 JavaScript支持重载吗? 重载在通常的面向对象语言中这样定义:方法名相同参数列表不...

  • JavaScript 函数重载 浅析

    什么是函数重载? 首先想声明下,什么是函数重载,javascript中不存在函数重载的概念,(其实是个伪命题)但一...

网友评论

      本文标题:这才是JavaScript没有重载的真正原因?

      本文链接:https://www.haomeiwen.com/subject/akmvottx.html