浅谈Javascript中默认参数值的设置
第一种:
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中默认参数值的设置的更多相关文章
- 浅谈JavaScript中的正则表达式(适用初学者观看)
浅谈JavaScript中的正则表达式 1.什么是正则表达式(RegExp)? 官方定义: 正则表达式是一种特殊的字符串模式,用于匹配一组字符串,就好比用模具做产品,而正则就是这个模具,定义一种规则去 ...
- 浅谈JavaScript中的闭包
浅谈JavaScript中的闭包 在JavaScript中,闭包是指这样一个函数:它有权访问另一个函数作用域中的变量. 创建一个闭包的常用的方式:在一个函数内部创建另一个函数. 比如: functio ...
- 浅谈JavaScript中的null和undefined
浅谈JavaScript中的null和undefined null null是JavaScript中的关键字,表示一个特殊值,常用来描述"空值". 对null进行typeof类型运 ...
- 浅谈JavaScript中的继承
引言 在JavaScript中,实现继承的主要方式是通过原型链技术.这一篇文章我们就通过介绍JavaScript中实现继承的几种方式来慢慢领会JavaScript中继承实现的点点滴滴. 原型链介绍 原 ...
- 浅谈JavaScript中的正则表达式
引言 对于正则表达式我想作为程序员肯定使用过它,那天书般的表达方式,我用一次就记住它了.这篇博客先介绍一些正则表达式的内容,然后介绍JavaScript中对正则表达式特有的改进.下面开始介绍正则表达式 ...
- 浅谈JavaScript中的Ajax
引言 作为一名WEB开发者,我想Ajax技术是一定需要掌握的.你也许平时没有使用JavaScript真正的写过Ajax.但是你一定使用过JQuery里面的相关函数来进行异步调用.今天我们就来介绍下原生 ...
- 浅谈JavaScript中的Function引用类型
引言 在JavaScript中最有意思的就是函数了,这一切的根源在于函数实际上是一个对象.每一个函数都是Function类型的实例,而且都和其他引用类型的实例一样具有属性和方法.函数作为一个对象,因此 ...
- 浅谈JavaScript中的原型模式
在JavaScript中创建对象由很多种方式,如工厂模式.构造函数模式.原型模式等: <pre name="code" class="html">/ ...
- 浅谈JavaScript中的内存管理
一门语言的内存存储方式是我们学习他必须要了解的,接下来让我浅谈一下自己对他的认识. 首先说,JavaScript中的变量包含两种两种类型: 1)值类型或基本类型:undefined.null.numb ...
随机推荐
- java第二课:运算符和表达式
1.取模%,如果余数为零,则判断可以整除.2.余数永远小于除数.3.自增运算符++或自减运算符--单独使用时,前++.--后++.--效果是一样的4.先加一,后使用,前++:先使用,后加一,后++5. ...
- VS2008的默认打开重置为VS2008
- Extjs4.2——bbar的默认类型(xtype)
bbar:在Panel经常使用的工具栏 如下面的示例——这将牵涉本文要追寻的问题:在下面的Panel中的bbar第一个组件明确指定的xtype:'button',第二个没有明确指出,那么它是何类型,为 ...
- PAT-乙级-1008. 数组元素循环右移问题 (20)
1008. 数组元素循环右移问题 (20) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 一个数组A中存有N(N>0)个整数,在不允 ...
- hdu 1907 John
很简单的博弈论问题!!(注意全是1时是特殊情况) 代码如下: #include<stdio.h> #include<iostream> using namespace std; ...
- FF浏览器来帮助我们录制脚本
有时我们录制一个页面的脚本,我们需要知道这个页面哪些请求是耗时最大的?这个时候FF浏览器的网络分析功能就可以派上用场了,打开火狐浏览器按F12: 点击重新载入,可以看到下面的信息: 看到最耗时的操作了 ...
- http://nxlhero.blog.51cto.com/962631/1666250?plg_nld=1&plg_uin=1&plg_auth=1&plg_nld=1&plg_usr=1&plg_vkey=1&plg_dev=1
http://nxlhero.blog.51cto.com/962631/1666250?plg_nld=1&plg_uin=1&plg_auth=1&plg_nld=1&am ...
- jquery中事件重复绑定以及解绑问题
一般的情况下,对于这种情况,我们常规的思路是,先解绑,再绑定,如下: $(selector).unbind('click').bind('click',function(){....}); 当这样会有 ...
- js 中多维数组的深拷贝的多种实现方式
因为javascript分原始类型与引用类型(与java.c#类似).Array是引用类型,所以直接用=号赋值的话,只是把源数组的地址(或叫指针)赋值给目的数组,并没有实现数组的数据的拷贝.另外对一维 ...
- HeadFirst设计模式之命令模式
一. 1.因为是操作经常变化,所以封装操作为command对象.You can do that by introducing “command objects” into your design. A ...