快捷导航

js如何实现函数重载?

js如何实现函数重载?

免责声明:本内容仅代表回答者见解不代表本站观点,请谨慎对待。

版权声明:作者保留权利,不代表本站立场。

回复

使用道具 举报

参与会员2

js没有其他语言比如java函数重载的概念,js的函数名相同只会覆盖,后定义函数覆盖先定的函数,但是js可以模拟函数重载。
@星典 的例子,明显的函数覆盖,绝不是重载,永远只会执行最后定定义的f函数.
functionf(length){alert("高为:"+length);}functionf(length,width){alert("高为:"+length+",宽为:"+width);}f()//高为:undefined,宽为:undefinedf(99)//高为:99,宽为:undefinedf(99,1000)//高为:99,宽为:1000

如上函数改为以下才是js模拟的重载
functionf(length,width){varlen=arguments.length;if(len===0){alert("请传入参数");}if(len===1){alert("高为:"+length);}if(len===2){alert("高为:"+length+",宽为:"+width);}}f()//请传入参数f(99)//高为:99f(99,1000)//高为:99,宽为:1000
回复

使用道具 举报

functionf(length){alert("高为:"+length);}functionf(length,width){alert("高为:"+length+",宽为:"+width);}方法重载不都这样吗
回复

使用道具 举报

可能感兴趣的问答

发新帖
  • 微信访问
  • 手机APP