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

Javascript变长参数和默认参数

2015-12-11 14:54 573 查看
/* javascript 变长参数
* 实参少于形参: 剩下的参数如果没有默认值,将解析为undefined
* 实参多于形参: 剩下的实参可以通过 "实参对象"-arguments 来获取
*         - 实参对象是对象, 但是有数组的特性, 类数组
*         - arguments 保存的是所有参数,如 arguments[0]表示的是第一个实参,length属性得到实参个数
*         - 按照这个对象,那么函数可以根本不用参数, 不过有参数可以减少变量的声明并使代码更清晰
*/
function sum(){
var sum = 0;
for(var i=0;i<arguments.length;++i)
sum += arguments[i];
return sum;
}
console.log(sum(2,1,3,4)); //10
//默认参数
/*--Method 1--*/
function defaultParam1(first, second){
var first = first ? first : 1; // 设置默认值
var second = second ? second : 2;
return first+second;
}
/*--Method 2--*/
function defaultParam2(){
var first = arguments[0] ? arguments[0] : 1; // 设置默认值
var second = arguments[1] ? arguments[1] : 2;
return first+second;
}
/*--Method 3--*/
function defaultParam3(first, second){
first = first || 1;
second = second || 2;
return first+second;
}


默认参数还有直接在函数形参后面直接加默认值的方法, 与C++类似. 详细信息参考: https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Functions/Default_parameters
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: