对于学过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来推断函数的參数的个数...

JavaScript 没有函数重载&amp;Arguments对象的更多相关文章

  1. 函数中的 arguments 对象

    JavaScript函数具有像数组一样的对象,这些对象称为arguments,与传递给函数的参数相对应.传递给JavaScript函数的所有参数都可以使用arguments对象来引用. 现在我们开始学 ...

  2. JavaScript基础精华02(函数声明,arguments对象,匿名函数,JS面向对象基础)

    函数声明 JavaScript中声明函数的方式:(无需声明返回值类型) function add(i1, i2) {             return i1 + i2;//如果不写return返回 ...

  3. JavaScript函数中的arguments对象

    ECMAScript标准中,每个函数都有一个特殊的内置对象arguments.arguments对象是一个类Array对象(object),用以保存函数接收到的实参副本. 一.内置特性 说它是一个内置 ...

  4. JavaScript模拟函数重载

    JavaScript是没有函数重载的,但是我们可以通过其他方法来模拟函数重载,如下所示: <!DOCTYPE html> <html> <head> <met ...

  5. JavaScript的函数重载

    java语言中函数的重载和重写可谓是很重要的概念,所以在写js的时候时不时的会想到这种用法,重写先不说,这里只说重载.. <script language="JavaScript&qu ...

  6. jacascript 函数参数与 arguments 对象

    前言:这是笔者学习之后自己的理解与整理.如果有错误或者疑问的地方,请大家指正,我会持续更新! 调用函数时,实参和形参需要一一对应,但如果参数多了的话,会很苦恼: 我们可以用键值对(字面量对象)的方式传 ...

  7. Javascript基础 函数“重载”

    Javascript不像其他编程语言一样具有函数签名(什么是函数签名,简单的说就是说函数的接受参数类型和参数个数,也有人认为返回类型也应该包括.具体概念大家可以到网上查询). 所以Javascript ...

  8. Javascript可变长度参数列表 - Arguments对象

    在一个函数体内,标识符arguments具有特殊含义. Arguments对象是一个类似数组的对象 eg: 验证函数参数的正确数目 function f(x, y, z) { if (argument ...

  9. JavaScript (JS) 函数补充 (含arguments、eval()、四种调用模式)

    1. 程序异常 ① try-catch语法    测试异常 try-catch语法代码如下: try { 异常代码;     try中可以承重异常代码, console.log(“try”)  出现异 ...

随机推荐

  1. Gzip压缩优化网站

    网站常使用GZIP压缩算法对网页内容进行压缩,然后传给浏览器,以减小数据传输量,提高响应速度.浏览器接收到GZIP压缩数据后会自动解压并正确显示.GZIP加速常用于解决网速慢的瓶颈. 压缩Filter ...

  2. UVALive 3027 Corporative Network 带权并查集

                         Corporative Network A very big corporation is developing its corporative networ ...

  3. Ubuntu输入su提示认证失败的解决方法

    用su切换,输入密码提示认证失败,这下搞了吧,后来一经查阅原来Ubuntu安装后,root用户默认是被锁定了的,不允许登录,也不允许 su 到 root ,对于桌面用户来说这个可能是为了增强安全性,但 ...

  4. NEU 1009 Happiness Hotel

    1009: Happiness Hotel 时间限制: 1 Sec  内存限制: 128 MB提交: 173  解决: 19[提交][状态][讨论版] 题目描述 The life of Little ...

  5. xBIM 学习与应用系列目录

        xBIM 实战04 在WinForm窗体中实现IFC模型的加载与浏览   xBIM 实战03 使用WPF技术实现IFC模型的加载与浏览   xBIM 实战02 在浏览器中加载IFC模型文件并设 ...

  6. SpringMVC+uploadify3.2.1版实现附件上传功能(直接可以使用)

    <link rel="stylesheet" type="text/css" href='<c:url value="/uploadify ...

  7. Flask_URL和视图

    1.Flask_URL和视图 1.1.第一个flask程序   from flask import Flask #创建一个Flask对象,传递__name__参数进去 app = Flask(__na ...

  8. for循环的写法及优化

    最近这几天在研究浏览器性能的时候发现了一些小知识,在此做一总结: 其中经常用到的for循环有:正常的for循环,for in循环,for of循环等,但是对于正常的for循环可以做一下优化,使得其在执 ...

  9. appium连接夜游神的方法

    很多小伙伴想连接夜游神模拟器,但是无法连接,下面是夜游神的链接方法 第一步:先打开夜游神模拟器 第二步:打开运行输入cmd,输入夜游神连接方法:adb connect 127.0.0.1:62001第 ...

  10. c#可自定义码表的base64加密解密算法类

    000 using System; using System.Collections.Generic; using System.Linq; using System.Text; using Syst ...