对于学过Java的人来说。函数重载并非一个陌生的概念,可是javaScript中有函数重载么...接下来我们就进行測试

<script type="text/javascript">
//JavaScript不存在函数重载现象
var add=function(a,b){
return a+b;
}
var add=function(a,b,c){
return a+b+c;
}
<span style="white-space:pre">	</span>alert(1,2);
alert(add(1,2,3)); </script>

这个案例也仿照java中的语法,来模拟函数重载..我们执行一下结果

alert(1,2):

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

alert(1,2,3):

结果对照发现:第一个执行的结果是NaN,第二个执行的结果正常。

JavaScript中不存在函数重载的现象。当同一时候出现两个同样的函数名驶,第二个会覆盖第一个.因此alet(1,2)会找第二个函数,可是它是实參中的第三个參数为空,因此结果报了NaN.

那么我们怎么样模仿Java中的函数重载现象呢?这里就要介绍Arguments对象...

<script type="text/javascript">
//JavaScript不存在函数重载现象
var add=function(){
if(arguments.length==2){
return arguments[0]+arguments[1];
}else if(arguments.length==3){
return arguments[0]+arguments[1]+arguments[2];
}
}
alert(add(1,2,4));
</script>

functon必须是空的function(){}

依据arguments是一个数组,能够依据他的长度length来推断函数的參数的个数...

最新文章

  1. 使用openssl的一些问题
  2. ArcGIS图层介绍
  3. R之pryr
  4. 不同的extend 在调用构造函数时不同的写法
  5. Activiti 5.18 流程Model 转成 流程BPMN文件
  6. Android解析Excel文档完整示例
  7. mac编译openssl扩展报错 openssl.c:44:10: fatal error: &#39;openssl/evp.h&#39; file not found
  8. iOS 网络状态判断方案(支持iOS11和iPhoneX)
  9. varnish 测试
  10. sublime快捷键使用
  11. k-vim安装及The ycmd server SHUT DOWN (restart with &#39;:YcmRestartServer&#39;)这种错误的解决方法
  12. spring学习 十七 scope属性,单例多例
  13. angular $q promise详解
  14. matlab使用总结2
  15. Advanced RESTClient插件安装 google浏览器
  16. 用SLF4j/Logback打印日志-2
  17. Feign从配置文件中读取url
  18. 20145317彭垚_Web基础
  19. 使用命令行管理virtualBox
  20. 20145211 《网络对抗》Exp8 Web基础

热门文章

  1. 安卓系统底层C语言算法之測试參数是几个long型的算法
  2. HDU - 4054 Hexadecimal View (2011 Asia Dalian Regional Contest)
  3. String与StringBuffer的差别
  4. VM网络连接设置具体解释
  5. git在win7下安装的问题
  6. unknown argument: &amp;#39;-websockets&amp;#39;
  7. BZOJ 2751 容易题(easy) 快速幂+快速乘
  8. tensorflow利用预训练模型进行目标检测(三):将检测结果存入mysql数据库
  9. tp中使用事务
  10. NEU 1009 Happiness Hotel