第一种:

   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. 无锁算法CAS 概述

    无锁算法CAS 概述 JDK5.0以后的版本都引入了高级并发特性,大多数的特性在java.util.concurrent包中,是专门用于多线并发编程的,充分利用了现代多处理器和多核心系统的功能以编写大 ...

  2. Hadoop的调度器总结

    Hadoop的调度器总结 随着MapReduce的流行,其开源实现Hadoop也变得越来越受推崇.在Hadoop系统中,有一个组件非常重要,那就是调度器,它的作用是将系统中空闲的资源按一定策略分配给作 ...

  3. 团队软件开发_基于windows下截屏软件关于NABC框架的特点

    经过我们小组数次的激烈讨论,就自己的能力和时间而言,我们小组的初步的计划是开发一款基于windows下的截图软件. 关于这个软件的功能,我们初步的想法如下: 1.能在windows下后台运行,有相应的 ...

  4. Extjs4.2——bbar的默认类型(xtype)

    bbar:在Panel经常使用的工具栏 如下面的示例——这将牵涉本文要追寻的问题:在下面的Panel中的bbar第一个组件明确指定的xtype:'button',第二个没有明确指出,那么它是何类型,为 ...

  5. @Entity设置实体lazy = false

    问题描述 在通过Hibernate查询Bean信息时报以下异常信息: org.hibernate.LazyInitializationException: could not initialize p ...

  6. URAL 1260 Nudnik Photographer(递推)

    题目链接 题意 : 给你1到n这n个数,排成一排,然后1放在左边最开始,剩下的数进行排列,要求排列出来的数列必须满足任何两个相邻的数之间的差不能超过2,问你有多少种排列 思路 : 对于dp[n], n ...

  7. JS插件excanvas的使用方法

     这个还没有想好怎么写,等写好后再发布 试用了excanvas.js,生成静态统计图 IE下使用excanvas.js的注意事项

  8. 201. Bitwise AND of Numbers Range

    题目: Given a range [m, n] where 0 <= m <= n <= 2147483647, return the bitwise AND of all num ...

  9. C语言字节对齐

    转自:http://blog.csdn.net/21aspnet/article/details/6729724 文章最后本人做了一幅图,一看就明白了,这个问题网上讲的不少,但是都没有把问题说透. 一 ...

  10. AndroidManifest.xml 详情对应介绍

    ——————————————————————————————————————————————————————————————————————————SETTING设置功能消息免打搅 com.tence ...