浅谈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 ...
随机推荐
- linux上很方便的上传下载文件工具rz和sz
linux上很方便的上传下载文件工具rz和sz(本文适合linux入门的朋友) ##########################################################&l ...
- ural 1123
找大于等于原数的最小回文数字 代码比较烂........... #include <iostream> #include <cstdio> #include <cstr ...
- SpringMVC ResponseBody返回中文乱码解决方案
@RequestMapping(value = "/getForm") @ResponseBody public List<String> getForm(String ...
- JVM并发机制的探讨——内存模型、内存可见性和指令重排序
并发本来就是个有意思的问题,尤其是现在又流行这么一句话:“高帅富加机器,穷矮搓搞优化”. 从这句话可以看到,无论是高帅富还是穷矮搓都需要深入理解并发编程,高帅富加多了机器,需要协调多台机器或者多个CP ...
- 吐槽C++
个人感觉,在c++ 道路的学习路上,遇到很多的坎坷,现在回想起来,最关键一点就是 c++知识点繁杂很多,教科书很多知识点都没有提到. 但是在实际工作中,这些没有提到的知识点,却又经常会用到(或者看开源 ...
- Java List详解
就是一种集合对象,将所有的对象集中到一起存储. list里面可以放java对象,可以直接放值. List list = new ArrayList(); list.add("AAA" ...
- Shell中调用、引用、包含另一个脚本文件的三种方法
脚本 first (测试示例1) first#!/bin/bashecho 'your are in first file' 方法一:使用source #!/bin/bashecho 'your ar ...
- Monitor vs WaitHandle
http://stackoverflow.com/questions/1355398/monitor-vs-waithandle-based-thread-sync A problem with Mo ...
- Android开发之ListView-SimpleAdapter的使用
SimpleAdapter: SimpleAdapter(Context context, List<? extends Map<String, ?>> data, int r ...
- JAVA并行框架学习之ForkJoin
当硬件处理能力不能按照摩尔定律垂直发展的时候,选择了水平发展,多核处理器已经广泛应用.未来随着技术的进一步发展,可能出现成百上千个处理核心,但现有的程序运行在多核心处理器上并不能得到较大性能的提升,主 ...