您的位置:首页 > Web前端 > JavaScript

JS函数实参和形参参数个数不一致时的处理和后果

2017-11-10 00:00 531 查看

描述

在js中函数没有重载的概念,如果声明了多个重名的函数,不管函数的形参个数是否一样,
只有最后一个有效,其他的函数声明都是无效的。

实参比形参少

定义一个函数fn(v1, v2),调用fn()时写成fn(s1):

**处理:**s1会赋值给v1。当第二个参数v2在函数中没有用到就不会被赋值,如果用到会被当undefined处理。

**结果:**v2为undefined时,可能会报错。

实参比形参多

定义一个函数fn(v1, v2),调用fn()时写成fn(s1, s2, s3):

**处理:**s1被赋值给v1,s2被赋值给v2,s3会被忽略。

**结果:**不会报错。

其他情况

以上是一般JS的处理方式,当然也有特殊,比如jquery中的clone()函数,其默认参数有两个,不传值的时候两个参数默认false,传一个的时候默认第二个值与第一个相等...所以,难搞,具体情况还需具体对待,呀啦~
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐