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
相关文章推荐
- 【01】JSON基本信息
- JSON使用Error反序列化忽略非法日期
- js判断接入设备
- js时间格式转换
- 10007---JavaScript--函数
- js里获取表单输入值进行比对的方法
- js---SM
- JSON使用TraceWriter反序列化获取调试日志
- ExtJs4 笔记(5) Ext.Button 按钮
- JSON使用IContractResolver序列化实现属性名骆驼命名法
- js中的document.write
- 百宝云Json与数组命令教程
- 10006---JavaScript--对象
- JSON使用TypeNameHandling序列化与反序列化.NET类型和声明类型
- JS替换非正则替换
- 网易前端微专业,JavaScript程序设计基础篇:函数
- jsp表单的客户端验证
- json_encode 数值类型转换
- JS初学的一些易错的知识点
- jsp编写猜数字游戏