今日在复习javascript的时候,看到书上有写到"由于不存在函数签名的特型,ECMAScript函数不能够重载";然后特意去查询了相关资料,下面是两个名词解释:
函数签名:函数的名称及其参数类型组合在一起,就定义了一个唯一的特效,称为函数签名(不包括返回类型);
函数重载:一组具有相同名字,不同参数列表的函数或者方法;
为什么js没有不存在函数签名:个人认为,js是属于弱语言,没有强的数据类型(强语言的签名是函数的参数必须定义,而js函数中的参数(形参)可以不用)。
如果要js实现函数重载如何处理,下面提供一种简单方法,可以使用arguments.length,根据长度的不同来实现不同代码:
当然还有其他比较高大上的代码,请自行查询;
以上就是我对签名与重载的理解。