JavaScript 没有函数重载&Arguments对象
来源:互联网 发布:js字符串转换为日期 编辑:程序博客网 时间:2024/06/05 17:00
对于学过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;
- }
<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>
<span style="white-space:pre"></span>alert(1,2);alert(add(1,2,3)); </script>这个案例也仿照java中的语法,来模拟函数重载..我们运行一下结果
alert(1,2):
alert(1,2,3):
结果对比发现:第一个运行的结果是NaN,第二个运行的结果正常。
JavaScript中不存在函数重载的现象,当同时出现两个相同的函数名驶,第二个会覆盖第一个.因此alet(1,2)会找第二个函数,但是它是实参中的第三个参数为空,因此结果报了NaN.
那么我们怎么样模仿Java中的函数重载现象呢?这里就要介绍Arguments对象...
- //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>
<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来判断函数的参数的个数...
0 0
- JavaScript 没有函数重载&Arguments对象
- JavaScript 没有函数重载&Arguments对象
- javascript利用arguments 对象模拟函数重载
- JavaScript 利用arguments对象实现函数重载
- 学习笔记(JavaScript中的arguments对象和PHP中的func_get_args()决定它们没有函数重载功能) [第六课]
- javascript-arguments实现函数重载
- javascript函数arguments对象
- JavaScript函数中的arguments对象
- JavaScript函数中的arguments对象
- JavaScript中通过arguments对象实现对象的重载
- javascript函数参数的arguments对象
- Javascript函数调用隐式对象arguments
- 利用Arguments对象模拟函数重载的例子
- JavaScript中为什么没有函数重载
- JavaScript中函数的arguments对象(不确定函数参数)
- Javascript中的arguments 对象
- JavaScript中的arguments对象
- Javascript 的 arguments对象
- TOTOLink-N200RS+和DLINK DIR-600M两台无线路由器WDS
- codevs1024
- ZMO企业自媒体联盟:开启企业自媒体运营官时代
- Hihocoder
- 堆栈的深度理解
- JavaScript 没有函数重载&Arguments对象
- MinGW安装过程
- TestNG入门_webDriver+java(二)
- 如何在默认安装openjdk的Linux系统中安装独立JDK
- Web前端知识点总结(一)
- 在有openJDK的情况下,安装官方JDK,并改为默认
- Android上传文件到Web服务器,PHP接收文件
- 如何在自定义的ViewController加载Storyboard里面的ViewController
- 053第401题