博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JavaScript函数不能重载
阅读量:6815 次
发布时间:2019-06-26

本文共 625 字,大约阅读时间需要 2 分钟。

function test(){            }            function test(st){                return 3;            }            console.log(test("ss"));//3        console.log(test());//3

  

  与其他程序设计语言不同,ECMAScript 不会验证传递给函数的参数个数是否等于函数定义的参数个数,开发者定义的函数都可以接受任意个数的参数(根据Netscape的文档,最多能接受25个),而不会引发任何错误。任何遗漏的参数都会以undefined传递给函数,多余的参数将忽略。

  用arguments对象判断传递给函数的参数个数,即可模拟函数重载:

   function doAdd(){

           if(arguments.length == 1){alert(arguments[0] + 10);}

           else if(arguments.length == 2){alert(arguments[0] + arguments[1]);}

}

doAdd(10);          //outputs "20"

doAdd(30,20);     //outputs "50"

虽然不如重载好,但可以避开ECMAScript的这种限制。

转载于:https://www.cnblogs.com/CoderTony/p/7748173.html

你可能感兴趣的文章
ONE-sys 整合前后端脚手架 koa2 + pm2 + vue-cli3.0 + element
查看>>
携带更方便功能全 iPone与Apple Watch球形尿袋
查看>>
行为型模式:策略模式
查看>>
实现批量数据增强 | keras ImageDataGenerator使用
查看>>
太忙女友消息未及时回复,分手吗?python微信自动消息帮你谈恋爱
查看>>
Java 多线程NIO学习
查看>>
命名实体识别
查看>>
动态切换的动态代理
查看>>
电商项目(下)
查看>>
vue 数字滚动递增效果
查看>>
vue2.0中父子,兄弟组件的传值2
查看>>
Spring Boot注解常用!!!看了就可以开发大量项目了
查看>>
音频编码 Audio Converter
查看>>
SQL - case when then else end 的用法
查看>>
web优化是http缓存(上)
查看>>
19-01-14
查看>>
媒体融合三部曲(未完待续...)
查看>>
OkHttp3-拦截器(Interceptor)
查看>>
Bootstrap在实际生产开发中的使用心得
查看>>
Google推出实时内容洞察工具 为用户提供表现最好的内容
查看>>