js如何实现函数重载?

西兰花伟大炮
浏览 1773回答 3
3回答

会飞的四脚蛇

js没有其他语言比如java函数重载的概念,js的函数名相同只会覆盖,后定义函数覆盖先定的函数,但是js可以模拟函数重载。@星典 的例子,明显的函数覆盖,绝不是重载,永远只会执行最后定定义的f函数.function f(length)  {      alert("高为:"+length);  }    function f(length,width)  {      alert("高为:"+length+",宽为:"+width);  } f()  //高为:undefined,宽为:undefined f(99) // 高为:99,宽为:undefined f(99,1000) // 高为:99,宽为:1000如上函数改为以下才是js模拟的重载function f(length,width) {     var len =arguments.length;     if( len===0 ){         alert("请传入参数");     }     if( len ===1){         alert("高为:"+length);     }      if( len ===2){         alert("高为:"+length+",宽为:"+width);     }  } f() // 请传入参数 f(99) // 高为:99 f(99,1000) //高为:99,宽为:1000

田心枫

function f(length)  {      alert("高为:"+length);  }  function f(length,width)  {      alert("高为:"+length+",宽为:"+width);  }方法重载不都这样吗
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript