第一种:

   1: function test(a,b){
   2:    var a = arguments[0] ? arguments[0] : 1;//设置参数a的默认值为1
   3:    var b = arguments[1] ? arguments[1] : 9;//设置参数b的默认值为9
   4:    return a+b;

其等价为

   1: function test(){
   2: var a = arguments[0] ? arguments[0] : 1;//设置参数a的默认值为1
   3: var b = arguments[1] ? arguments[1] : 9;//设置参数b的默认值为9
   4: return a+b;
   5: }

调用示例

   1: alert(test());  //输出10
   2: alert(test(5));   //输出14
   3: alert(test(5,6));  //输出11
   4: alert(test(null,6));  //输出7
   5: alert(test(6,null));   //输出15

第二种:

   1: function test(blog,address){
   2:     blog=blog||'淡忘~浅思';
   3:     address=address||'www.ido321.com';
   4:     alert('博客名是'+blog+'的地址是'+address);
   5: }

其等价为

   1: function test(blog,address){
   2:     if(!blog){blog='淡忘~浅思';}
   3:     if(!address){address='www.ido321.com';}
   4:     alert('博客名是'+blog+'的地址是'+address);
   5: }

调用示例

   1: test();   //博客名是淡忘~浅思的地址是www.ido321.com
   2: test('csdn','blog.csdn.net');  //博客名是csdn的地址是blog.csdn.net
   3: test('','blog.csdn.net/u011043843');  //博客名是淡忘~浅思的地址是blog.csdn.net/u011043843

第三种:

   1: function test(setting){
   2:     var defaultSetting={
   3:         name:'程序爱好者',
   4:         age:'1',
   5:         phone:'15602277510',
   6:         QQ:'259280570',
   7:         message:'欢迎你的加入'
   8:     };
   9:     $.extend(defaultSetting,setting);
  10:     var msg='姓名:'+defaultSetting.name
  11:     +',年龄:'+defaultSetting.age
  12:     +',电话:'+defaultSetting.phone
  13:     +',QQ群:'+defaultSetting.QQ
  14:     +',说明:'+defaultSetting.message
  15:     +'。';
  16:     alert(msg);
  17: }

调用示例

   1: test();  //输出:姓名:程序爱好者,年龄:1,电话:15602277510,QQ群:259280570,说明:欢迎你的加入。
   2: test({
   3:   name:'dwqs',
   4:   age:'20',
   5:   QQ:'461147874',
   6:   message:'博客:www.ido321.com'
   7: });
   8: //输出:姓名:dwqs,年龄:20,电话:15602277510,QQ群:461147874,说明:博客:www.ido321.com。

ps:函数参数比较多时,可以用此方法。这是JQuery的一种扩展,所以需要引入JQuery。

来源:http://www.ido321.com/555.html

浅谈Javascript中默认参数值的设置的更多相关文章

  1. 浅谈JavaScript中的正则表达式(适用初学者观看)

    浅谈JavaScript中的正则表达式 1.什么是正则表达式(RegExp)? 官方定义: 正则表达式是一种特殊的字符串模式,用于匹配一组字符串,就好比用模具做产品,而正则就是这个模具,定义一种规则去 ...

  2. 浅谈JavaScript中的闭包

    浅谈JavaScript中的闭包 在JavaScript中,闭包是指这样一个函数:它有权访问另一个函数作用域中的变量. 创建一个闭包的常用的方式:在一个函数内部创建另一个函数. 比如: functio ...

  3. 浅谈JavaScript中的null和undefined

    浅谈JavaScript中的null和undefined null null是JavaScript中的关键字,表示一个特殊值,常用来描述"空值". 对null进行typeof类型运 ...

  4. 浅谈JavaScript中的继承

    引言 在JavaScript中,实现继承的主要方式是通过原型链技术.这一篇文章我们就通过介绍JavaScript中实现继承的几种方式来慢慢领会JavaScript中继承实现的点点滴滴. 原型链介绍 原 ...

  5. 浅谈JavaScript中的正则表达式

    引言 对于正则表达式我想作为程序员肯定使用过它,那天书般的表达方式,我用一次就记住它了.这篇博客先介绍一些正则表达式的内容,然后介绍JavaScript中对正则表达式特有的改进.下面开始介绍正则表达式 ...

  6. 浅谈JavaScript中的Ajax

    引言 作为一名WEB开发者,我想Ajax技术是一定需要掌握的.你也许平时没有使用JavaScript真正的写过Ajax.但是你一定使用过JQuery里面的相关函数来进行异步调用.今天我们就来介绍下原生 ...

  7. 浅谈JavaScript中的Function引用类型

    引言 在JavaScript中最有意思的就是函数了,这一切的根源在于函数实际上是一个对象.每一个函数都是Function类型的实例,而且都和其他引用类型的实例一样具有属性和方法.函数作为一个对象,因此 ...

  8. 浅谈JavaScript中的原型模式

    在JavaScript中创建对象由很多种方式,如工厂模式.构造函数模式.原型模式等: <pre name="code" class="html">/ ...

  9. 浅谈JavaScript中的内存管理

    一门语言的内存存储方式是我们学习他必须要了解的,接下来让我浅谈一下自己对他的认识. 首先说,JavaScript中的变量包含两种两种类型: 1)值类型或基本类型:undefined.null.numb ...

随机推荐

  1. tomcat 配置虚拟路径

    把图片或者其他的文件传到webapps以外的目录 <Context docBase= "e:\image\"  path= "/uploads"  rel ...

  2. [转载]C#设置开机启动

    原理就是在注册表启动项里添加一项.路径:SOFTWARE\Microsoft\Windows\CurrentVersion\Run或者直接:运行->regedit找到这个路径添加一项. usin ...

  3. (转)关于Struts 2 拦截器参数丢失问题

    from:http://www.cnblogs.com/huzx/archive/2011/06/09/2076328.html 今天在做用户的登陆认证的时候出现的问题. 在传参数的时候,发现参数丢失 ...

  4. Eclipse 调整代码颜色的地方

    Editors - Text Editors General-Apperance-Colors and Fonts 各工作区里面的Editor和Syntax Coloring

  5. 2026-Keroro侵略地球

    描述 Keroro来侵略地球之前,曾跟Giroro伍长打赌:“我一个人灭掉整个地球给你看!”. 于是Keroro同学真的自己一个人来到地球开始他的侵略行动了.从K隆星出发之前,Keroro从Kurur ...

  6. java信号量PV操作 解决生产者-消费者问题

    package test1; /** * 该例子演示生产者和消费者的问题(设只有一个缓存空间.一个消费者和一个生产者) * MySystem类定义了缓冲区个数以及信号量 * @author HYY * ...

  7. JVM并发机制的探讨——内存模型、内存可见性和指令重排序

    并发本来就是个有意思的问题,尤其是现在又流行这么一句话:“高帅富加机器,穷矮搓搞优化”. 从这句话可以看到,无论是高帅富还是穷矮搓都需要深入理解并发编程,高帅富加多了机器,需要协调多台机器或者多个CP ...

  8. java jdk自带程序分析(内存分析/线程分析)

    周末看到一个用jstack查看死锁的例子.昨天晚上总结了一下jstack(查看线程).jmap(查看内存)和jstat(性能分析)命令. 1.1.Jstack 1.1   jstack能得到运行jav ...

  9. java,<E>什么意思?

    泛型 就是指任意类型 比如 HashMap<K,V> 你用的时候 你可以将K,V 设置成任意类 HashMap<String,Integer> K,V 和那个E 一样 Hash ...

  10. ANDROID_MARS学习笔记_S01_006ImageView

    一.ImageView介绍 设置scalType Must be one of the following constant values. Constant Value Description ma ...