[[IT知识]] JavaScript函数默认参数值设置全解析

[复制链接]
查看: 39|回复: 0
发表于 2025-2-5 09:20:26 | 显示全部楼层 | 阅读模式
易博V9下载

JavaScript函数默认参数值设置全解析

Javascript(js)中如何为函数设置默认参数值,下面提供几种方法供参考。

注意:以下的第一种方法和第二种方法都是不严谨的,当传入的参数是0或false并且有意义的时候,会被默认值给替换,所以正确的判断方法应该是:

  1. function example(a, b) {
  2. if (typeof a == 'undefined') {
  3. a = 1;//设置参数a的默认值为1
  4. }
  5. if (typeof b == 'undefined') {
  6. b = 2;//设置参数b的默认值为2
  7. }
  8. return a + b;
  9. }
复制代码

第一种方法

  1. function example(a,b){
  2. var a = arguments[0] ? arguments[0] : 1;//设置参数a的默认值为1
  3. var b = arguments[1] ? arguments[1] : 2;//设置参数b的默认值为2
  4. return a+b;
  5. }
复制代码

注意以上函数也可写作如下:

  1. function example(){
  2. var a = arguments[0] ? arguments[0] : 1;//设置第一个参数的默认值为1
  3. var b = arguments[1] ? arguments[1] : 2;//设置第二个参数的默认值为2
  4. return a+b;
  5. }
复制代码

调用示例:

  1. alert( example() ); //输出3
  2. alert( example(10) ); //输出12
  3. alert( example(10,20) ); //输出30
  4. alert( example(null,20) ); //输出20
复制代码

第二种方法

  1. function example(name,age){
  2. name=name||'貂蝉';
  3. age=age||21;
  4. alert('你好!我是'+name+',今年'+age+'岁。');
  5. }
复制代码

该函数也可以写作如下:

  1. function example(name,age){
  2. if(!name){name='貂蝉';}
  3. if(!age){age=21;}
  4. alert('你好!我是'+name+',今年'+age+'岁。');
  5. }
复制代码

调用示例:

  1. example('王五');//输出:你好!我是王五,今年21岁。
  2. example('王五',30);//输出:你好!我是王五,今年30岁。
  3. example(null,30);//输出:你好!我是貂蝉,今年30岁。
复制代码

第三种方法,这种方法适合用于参数较多的情况,使用了Jquery的扩展

  1. function example(setting){
  2. var defaultSetting={
  3. name:'貂蝉',
  4. age:'30',
  5. sex:'女',
  6. phone:'13611876347',
  7. QQ:'10086',
  8. birthday:'1949.10.01'
  9. };
  10. $.extend(defaultSetting,settings);
  11. var message='姓名:'+defaultSetting.name
  12. +',性别:'+defaultSetting.sex
  13. +',年龄:'+defaultSetting.age
  14. +',电话:'+defaultSetting.phone
  15. +',QQ:'+defaultSetting.QQ
  16. +',生日:'+defaultSetting.birthday
  17. +'。';
  18. alert(message);
  19. }
复制代码

调用示例:

  1. example({
  2. name:'王昭君',
  3. sex:'女',
  4. phone:'10089'
  5. });
  6. //输出:姓名:王昭君,性别:女,年龄:30,电话:10089,QQ:10086,生日:1949.10.01。
复制代码
易博软件介绍
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

1、请认真发帖,禁止回复纯表情,纯数字等无意义的内容!帖子内容不要太简单!
2、提倡文明上网,净化网络环境!抵制低俗不良违法有害信息。
3、如果你对主帖作者的帖子不屑一顾的话,请勿回帖。谢谢合作!
3、问答求助区发帖求助后,如有其他用户热心帮您解决问题后,请自觉点击设为最佳答案按钮。

 
 
QQ在线客服
QQ技术支持
工作时间:
8:00-18:00
软著登字:
1361266号
官方微信扫一扫
weixin

QQ|小黑屋|Archiver|慈众营销 ( 粤ICP备15049986号 )|网站地图

自动发帖软件 | 自动发帖器 | 营销推广软件 | 网络营销工具 | 网络营销软件 | 网站推广工具 | 网络推广软件 | 网络推广工具 | 网页推广软件 | 信息发布软件 | 网站推广工具 | 网页推广软件

Powered by Discuz! X3.4   © 2012-2020 Comsenz Inc.  慈众科技 - Collect from 深圳吉宝泰佛文化有限公司 公司地址:罗湖区黄贝街道深南东路集浩大厦A1403

返回顶部 返回列表