浅谈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 ...
随机推荐
- 1028: [JSOI2007]麻将 - BZOJ
Description 麻将是中国传统的娱乐工具之一.麻将牌的牌可以分为字牌(共有东.南.西.北.中.发.白七种)和序数牌(分为条子.饼子.万子三种花色,每种花色各有一到九的九种牌),每种牌各四张.在 ...
- [转载]VS2012程序打包部署详解
上篇博客把收费系统的总体设计进行了一遍讲解,讲解的同时掺杂了些有关.NET编译机制的总结.程序编写测试完成后接下来我们要做的是打包部署程序,但VS2012让人心痛的是没有了打包工具.不知道出于什么原因 ...
- nginx上用fastcgi配置python环境
费了2天的功夫,翻阅了无数的中文.英文资料,终于搞定.写下此文留待以后翻阅用 本文环境,centOS 5.4 ,Nignx-0.8.49, Python 2.6.5 ========== ...
- C++11 FAQ中文版--转
更新至英文版October 3, 2012 译者前言: 经过C++标准委员会的不懈努力,最新的ISO C++标准C++11,也即是原来的C++0x,已经正式发布了.让我们欢迎C++11! 今天获得St ...
- ***总结:在linux下连接redis并进行命令行操作(设置redis密码)
[root@iZ254lfyd6nZ ~]# cd / [root@iZ254lfyd6nZ /]# ls bin boot dev etc home lib lib64 lost+found med ...
- LESS CSS 总结
1.LESS 简介 less是动态的样式表语言,通过简洁明了的语法定义,使编写 CSS 的工作变得非常简单 类似Jquery框架 中文网站: http://www.lesscss.net/ 2.编译工 ...
- javaweb学习总结(四十五)——监听器(Listener)学习二
一.监听域对象中属性的变更的监听器 域对象中属性的变更的事件监听器就是用来监听 ServletContext, HttpSession, HttpServletRequest 这三个对象中的属性变更信 ...
- WCF之各种WCF引用方式
写在开头:本文内容来自 WCF全面解析中的一个经典例子,如果你已经看过了,那么可以忽略本文,本文旨在和大家分享不一样的WCF使用方法. 准备工作: 1.创建解决方案WCFService(当然名字可以任 ...
- Android 自定义对话框使用静态Handler传递参数
JsdMainDialog.java package com.jsd.demo; import android.app.Activity; import android.content.Context ...
- zip文件解压或压缩
<span style="font-size:18px;">/** * lsz */ public final class ZipUtil { /** * 解压zip文 ...