第一种:

   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. [百度]数组A中任意两个相邻元素大小相差1,在其中查找某个数

    一.问题来源及描述 今天看了July的微博,发现了七月问题,有这个题,挺有意思的. 数组A中任意两个相邻元素大小相差1,现给定这样的数组A和目标整数t,找出t在数组A中的位置.如数组:[1,2,3,4 ...

  2. Firefly Http通信简单介绍

    原地址:http://www.9miao.com/question-15-54042.html 首先创建firefly工程,firefly-admin.py createproject httptes ...

  3. linux MySQL安装配置

    执行下面的命令初始化授权表: ./scripts/mysql_install_db --user=mysql

  4. PHP基础语法2

    数组 PHP有两种数组:索引数组.关联数组. 函数 自定义函数 自定义函数通过将一组代码封装起来,使代码进行复用,程序结构与逻辑更加清晰 返回值 使用return关键字可以使函数返回值,可以返回包括数 ...

  5. MyBatis的动态SQL操作--插入

    需求:向数据库中插入一条数据 //id,name,sal非空,三个字段都插入 insert into student(id,name,sal) values (?,?,?) //id,name非空,只 ...

  6. 怎样成为一名PHP专家?

    当浏览各类与PHP相关的博客时,比如Quora上的问题,谷歌群组,简讯和杂志,我经常注意到技能的等级分化.问题都类似于“我如何连接到MySQL数据库?”或者“我该如何扩展邮件系统才能在每小时发送超过一 ...

  7. NFC(8)关于新买的标签的格式化

    有多种方法格式化nfc标签设备. 如搜相关的手机上应用,在应用里选择格式类型 本文是用代码手动格式 public void writeNFCTag(Tag tag) { if (tag == null ...

  8. NFC(7)向NFC硬件写入数据的两个示例(nfc硬件启动android应用,nfc硬件打开uri)

    向NFC标签写入数据基本步骤 1,获取Tag对象 Tag tag = intent.getParcelableExtra(NfcAdapter.EXTRA_TAG); 2,判断NFC标签的数据类型(通 ...

  9. CentOS升级git

    1.首先查看下当前的版本 [root@localhost ~]# git --versiongit version 1.8.2.1 2.尝试进行升级 [root@localhost ~]# yum u ...

  10. Complete The Pattern #2

    Complete The Pattern #2 Description: Task: You have to write a function pattern which creates the fo ...