javascript可以用arguments定义参数组。

 
一、简单的定义参数默认值
function test1(a,b){
//如果有参数一,则返回参数一,如果没有返回默认值"这是参数一"
var a = typeof(arguments[0])!=="undefined"?arguments[0]:'这是参数一';
//如果有参数二,则返回参数为,如果没有返回默认值"这是参数二"
var b = typeof(arguments[1])!=="undefined"?arguments[1]:'这是参数二';
return a+','+b;
}
test1()允许接受0个、1个、2个的参数,如test1(),结果是"这是参数一,这是参数二";
如test1(1),结果是"1,这是参数二";如test(1,2),结果是"1,2"
 
二、如果想第一个参数为默认值,从第二个参数开始,该怎么实现 ?
function test2(b,c){
//设置参数一的默认值
var a='这是参数一';
if(arguments.length == 3){
var a = arguments[0];
var b = arguments[1];
var c = arguments[2];
}
return a+','+b+','+c;
}
test()允许接受2个、3个的参数,如果参数只有两个的话,test(2,3),参数一返回默认值,结果是"这是参数一,2,3";如果参数有三个的话,test(1,2,3),由于参数一定义了新值,所以结果是"1,2,3"

js定义参数默认值的更多相关文章

  1. js方法参数默认值设置

    这里的默认值设置 很容易以为和php相似 function(v1,v2="test") { alert(v2); } 但这样是不对的,js方法,如需传参,甚至可以不用预定义(也就是 ...

  2. ES6笔记之参数默认值(译)

    原文链接:http://dmitrysoshnikov.com/ 原文作者:Dmitry Soshnikov 译者做了少量补充.这样的的文字是译者加的,可以选择忽略. 作者微博:@Bosn 在这个简短 ...

  3. [ES6系列-03]ES6中关于参数相关特性详解(参数默认值与参数解构赋值与剩余参数)

    [原创] 码路工人 大家好,这里是码路工人有力量,我是码路工人,你们是力量. 今天总结一下 ES6 中跟参数相关的内容. 欢迎补充斧正.留言交流. 让我们互相学习一起进步. 1. ES6 参数默认值( ...

  4. Python函数参数默认值的陷阱和原理深究"

    本文将介绍使用mutable对象作为Python函数参数默认值潜在的危害,以及其实现原理和设计目的 本博客已经迁移至: http://cenalulu.github.io/ 本篇博文已经迁移,阅读全文 ...

  5. es6(三):es6中函数的扩展(参数默认值、rest参数、箭头函数)

    1.函数可以设置参数默认值 function test1(x,y=1){ console.log(x,y) } test1(10)//10 1 2.rest参数:形式为...变量名 function ...

  6. c3p0配置之preferredTestQuery参数默认值探秘

    http://www.mchange.com/projects/c3p0/ c3p0的配置参数preferredTestQuery用于检测数据库连接测试,检测数据库是否能连接成功. Default: ...

  7. C++ 函数的重载和参数默认值

    函数的重载和参数默认值视频教程 函数的重载注意事项: 只会根据三项内容进行重载:参数的个数.参数的类型.参数的顺序 参数默认值: 参数的默认值可以在函数的定义中也可以在函数的声明中,但不能同时有 从第 ...

  8. ES6学习 --函数参数默认值与解构赋值默认值

    1. ES6的解构ES6中引入了解构赋值的操作,其作用是:将值从数组Array或属性从对象Object提取到不同的变量中 即分为两种情况:从数组Array中解构,以及从对象Object中解构 ①.从数 ...

  9. ES6 学习笔记之三 函数参数默认值

    定义函数时为参数指定默认值的能力,是现代动态编程语言的标配.在ES6出现之前,JavaScript是没有这种能力的,框架为了实现参数默认值,用了很多技巧. ES6 的默认参数值功能,与其他语言的语法类 ...

随机推荐

  1. java 对象序列化

    java 对象序列化 package org.rui.io.serializable; import java.io.ByteArrayInputStream; import java.io.Byte ...

  2. Demo Swig

    演示使用swig工具创建c语言的java接口,生成.so库和java接口文件. 在此之前先要安装swig,安装方法:sudo apt-get install swig 1.使用eclipse创建工程. ...

  3. C语言二维数组作为函数的参数

    前言:今天在实现装配线调度程序时候,用到了二维数组,并将其作为函数的参数.在写程序的时候,遇到一些问题,即二维数组做函数的参数应该如何正确表示.我写程序的错误如下程序所示: #include < ...

  4. APP测试基本流程

    一. 测试周期 测试周期一般为两周,根据项目情况以及版本质量可适当缩短或延长测试时间.正式测试前先向主管或产品经理确认项目排期. 二.测试资源 测试任务开始前,检查各项测试资源. 产品功能需求文档 产 ...

  5. html禁止清除input文本输入缓存

    多数浏览器默认会缓存input的值,只有使用ctl+F5强制刷新的才可以清除缓存记录. 如果不想让浏览器缓存input的值,有2种方法: 方法一: 在不想使用缓存的input中添加 autocompl ...

  6. A very hard Aoshu problem

    A very hard Aoshu proble Problem Description Aoshu is very popular among primary school students. It ...

  7. [PHP] Eclipse开发PHP环境配置

    首先准备好软件: 1. Apache,到这里找个最新版本 2. PHP,到这里下载 3. Eclipse IDE for Java EE Developers,到这里下载 4. DLTK Core F ...

  8. C#编程实现DNS Client和Server(转)

    我们大多数人使用DNS主要是用于域名解析,近期有个特殊的需求:通过DNS协议传递特殊数据.翻遍互联网,最终找到了一个强大的C# DNS工具库  ARSoft.Tools.Net library ,感谢 ...

  9. IE11下用forms身份验证的问题

    <authentication mode="Forms"> <forms name="weboa" loginUrl="login. ...

  10. js实现堆排序

    <script type="text/javascript"> var arr = [22, 31, 1, 9, 99, 68, 55, 30]; function h ...