`
snoopy7713
  • 浏览: 1146996 次
  • 性别: Icon_minigender_2
  • 来自: 火星郊区
博客专栏
Group-logo
OSGi
浏览量:0
社区版块
存档分类
最新评论

如何为javascript方法参数设置默认值

阅读更多

你是否遇到过这样的情况,写了个function,无参数。

 

Js代码 复制代码 收藏代码
  1. function showUserInfo(){
  2. alert("你好!我是小明。");
  3. }
function showUserInfo(){
	alert("你好!我是小明。");
}

调用:

 

Js代码 复制代码 收藏代码
  1. showUserInfo();
showUserInfo();

后来,发现其他地方也需要这个function,但是有变量值已经在function里面写死了,怎么办?加个参数吧。

 

Js代码 复制代码 收藏代码
  1. function showUserInfo(name){
  2. name=name||"小明";
  3. alert("你好!我是"+name+"。");
  4. }
function showUserInfo(name){
	name=name||"小明";
	alert("你好!我是"+name+"。");
}

说明一下:name=name||"小明" 这句代码的意思是如果name为null就等于默认值“小明”。也可以这样写:

Js代码 复制代码 收藏代码
  1. function showUserInfo(name){
  2. // name=name||"小明";
  3. if(!name){
  4. name="小明";
  5. }
  6. alert("你好!我是"+name+"。");
  7. }
function showUserInfo(name){
//	name=name||"小明";
	if(!name){
		name="小明";
	}
	alert("你好!我是"+name+"。");
}

 

调用:

 

Js代码 复制代码 收藏代码
  1. showUserInfo('小李');
showUserInfo('小李');

 

后来,需求又变了,需要加上年龄。好吧再改:

 

Js代码 复制代码 收藏代码
  1. function showUserInfo(name,age){
  2. name=name||"小明";
  3. age=age||22;
  4. alert("你好!我是"+name+",今年"+age+"岁。");
  5. }
function showUserInfo(name,age){
	name=name||"小明";
	age=age||22;
	alert("你好!我是"+name+",今年"+age+"岁。");
}

调用:

 

Js代码 复制代码 收藏代码
  1. showUserInfo('小李');//结果:你好!我是小李,今年22岁。
  2. showUserInfo('小李',19);//结果:你好!我是小李,今年19岁。
  3. showUserInfo(null,19);//结果:你好!我是小明,今年19岁。
showUserInfo('小李');//结果:你好!我是小李,今年22岁。
showUserInfo('小李',19);//结果:你好!我是小李,今年19岁。
showUserInfo(null,19);//结果:你好!我是小明,今年19岁。

 

好了,如果我们需要再添加生日、电话、性别、QQ等等参数,又该怎么办呢?一个一个的设置默认值吗?实际上,我看到很多人确实是这样做的。下面我们来看一个更简单的方式。那就是使用Jquery的扩展。先看代码:

 

Js代码 复制代码 收藏代码
  1. function showUserInfo(setting){
  2. var defaultSetting={
  3. name:"小明",
  4. age:"22",
  5. sex:"男",
  6. phone:"13888888888",
  7. QQ:"12345678",
  8. birthday:"1980.12.29"
  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. }
function showUserInfo(setting){
	var defaultSetting={
		name:"小明",
		age:"22",
		sex:"男",
		phone:"13888888888",
		QQ:"12345678",
		birthday:"1980.12.29"
	};
	
	$.extend(defaultSetting,settings);
	
	var message='姓名:'+defaultSetting.name
			+',性别:'+defaultSetting.sex
			+',年龄:'+defaultSetting.age
			+',电话:'+defaultSetting.phone
			+',QQ:'+defaultSetting.QQ
			+',生日:'+defaultSetting.birthday
			+'。';
	alert(message);
}

说明:$.extend(defaultSetting,settings)的作用就是将传入的setting配置与defaultSetting合并,并用setting中的配置覆盖defaultSetting的配置。

 

调用:

 

Js代码 复制代码 收藏代码
  1. showUserInfo({
  2. name:"小李"
  3. });
  4. //结果:姓名:小李,性别:男,年龄:22,电话:13888888888,QQ:12345678,生日:1980.12.29。
  5. showUserInfo({
  6. name:"小红",
  7. sex:"女",
  8. phone:"13777777777"
  9. });
  10. //结果:姓名:小红,性别:女,年龄:22,电话:13777777777,QQ:12345678,生日:1980.12.29。
showUserInfo({
	name:"小李"
});
//结果:姓名:小李,性别:男,年龄:22,电话:13888888888,QQ:12345678,生日:1980.12.29。
showUserInfo({
	name:"小红",
	sex:"女",
	phone:"13777777777"
});
//结果:姓名:小红,性别:女,年龄:22,电话:13777777777,QQ:12345678,生日:1980.12.29。

 

很简单吧!这样,就算有100个参数,都不怕了。

 

那么什么时候使用多个参数,什么时候使用这样的参数对象呢?我的经验是,根据实际需要,如果使用一、两个参数就可以搞定的就不使用参数对象。超过3个,我就会使用这种参数对象。

分享到:
评论

相关推荐

    举例说明如何为JavaScript的方法参数设置默认值

    在编写函数时,为方法参数设置默认值是一项重要的基础知识,它允许开发者在函数调用时没有提供相应参数的情况下,使用预设的值作为默认值。这样做的好处是提高代码的健壮性和可维护性。 首先,需要了解的是,...

    JavaScript函数参数使用带参数名的方式赋值传入的方法

    这种方法的好处在于它提供了更好的代码可读性,并且可以很容易地为参数设置默认值,从而使得函数调用更加灵活和安全。 例如,我们可以定义一个函数,它接受多个参数,通过对象字面量的方式直接指定参数名称和值: ...

    js函数参数设置默认值的一种变通实现方法

    在ES6中,你可以直接在函数声明时为参数设置默认值,如下所示: ```javascript function simue(a = 1, b = 2) { return a + b; } ``` 这种语法简洁明了,而且在处理默认值时更加高效,因为它在函数定义时就已经...

    js设置function参数默认值(适合没有传参情况)

    在了解了如何为JavaScript函数参数设置默认值之后,开发者应该能够熟练地使用这一机制来增强程序的健壮性和用户友好性。无论是在库的开发还是日常业务代码中,正确的参数默认值设置往往能够减少错误处理的复杂性,并...

    ES6中参数的默认值语法介绍

    ES6 中参数的默认值语法介绍是 JavaScript 语言的一项重要特性,它允许开发者为函数参数设置默认值,从而简化代码编写和维护。下面我们将详细介绍 ES6 中参数默认值语法的相关知识点。 一、参数默认值语法 在 ES6 ...

    探讨JavaScript中的Rest参数和参数默认值

    然而,这种方式的代码可读性并不好,且当需要为参数设置默认值时会更加复杂。 为了解决这些问题,ES6引入了Rest参数。Rest参数使用省略号(...)语法来收集函数中的剩余参数,并将这些参数作为一个数组返回。使用...

    element-ui中的select下拉列表设置默认值方法

    value: 'option1' // 设置默认值为黄金糕对应的value值 }; } }; ``` 在上面的代码中,我们定义了一个名为`options`的数组,其中包含了多个对象,每个对象都有`value`和`label`属性,分别用来表示每个选项的值和...

    深入学习JavaScript中的Rest参数和参数默认值

    在JavaScript中,这意味着默认值表达式可以使用函数前面已经提供的参数,这为设置默认值提供了更多的灵活性。 总结而言,Rest参数和参数默认值是现代JavaScript编程中不可或缺的特性。Rest参数帮助我们更方便地处理...

    JS函数多个参数默认值指定方法分析

    现在可以直接在函数定义中为参数设置默认值,如下所示: ```javascript function mFun(p1 = -1, p2 = 'ABC') { // ... } ``` 这样的写法使得函数的意图更加清晰,也更容易阅读和维护。然而,需要注意的是,如果在...

    浅谈js中function的参数默认值

    在JavaScript ES6(ECMAScript 2015)中,引入了一种更直接的方式来为函数参数设置默认值。以下是一个简单的例子: ```javascript function func(string1, url, flag, icon) { // 如果没有提供flag,则默认值为...

    EasyUI Combobox设置默认值 获取text的方法

    本文将详细介绍如何在EasyUI Combobox中设置默认值以及如何获取选中项的text。 首先,我们来看如何设置Combobox的默认值。在EasyUI中,可以通过`setValue`方法来设定Combobox的初始值。例如,如果我们要将 Combobox...

    js代码-ES6 函数的扩展 -函数参数的默认值 -与解构赋值默认值结合使用

    其中,函数参数的默认值和解构赋值的默认值是两个非常实用的功能,它们允许我们在定义函数时为参数设置默认值,以及在解构对象或数组时提供默认值。下面我们将深入探讨这两个特性及其结合使用的情况。 ### 1. 函数...

    JS简单设置下拉选择框默认值的方法

    现在,我们来看一下如何使用JavaScript设置这些选项的默认值。在提供的代码中,定义了一个名为`setSelectOption`的函数,它接受两个参数:`objSelect`和`targetValue`。`objSelect`是下拉选择框的引用,而`target...

    JS 自定义带默认值的函数

    在JavaScript中,定义一个函数并为其参数设置默认值是一个常见的需求,这可以帮助我们在调用函数时,如果省略了某个参数,函数也能正确地使用预设的默认值。然而,JavaScript与其他语言(如PHP或Python)在处理这个...

    js代码-ES6 函数的扩展 -函数参数的默认值 -基本用法

    这一特性是ES6对函数参数处理的重要改进,解决了以前版本中为函数参数设置默认值需要通过其他方式实现的问题。 首先,让我们深入理解函数参数默认值的基本用法。在ES5及以前,我们通常使用以下方法为函数参数提供...

Global site tag (gtag.js) - Google Analytics