你是否遇到过这样的情况,写了个function,无参数。
- function showUserInfo(){
-
alert("你好!我是小明。");
- }
function showUserInfo(){
alert("你好!我是小明。");
}
调用:
showUserInfo();
后来,发现其他地方也需要这个function,但是有变量值已经在function里面写死了,怎么办?加个参数吧。
- function showUserInfo(name){
-
name=name||"小明";
-
alert("你好!我是"+name+"。");
- }
function showUserInfo(name){
name=name||"小明";
alert("你好!我是"+name+"。");
}
说明一下:name=name||"小明" 这句代码的意思是如果name为null就等于默认值“小明”。也可以这样写:
- function showUserInfo(name){
-
if(!name){
-
name="小明";
- }
-
alert("你好!我是"+name+"。");
- }
function showUserInfo(name){
// name=name||"小明";
if(!name){
name="小明";
}
alert("你好!我是"+name+"。");
}
调用:
showUserInfo('小李');
后来,需求又变了,需要加上年龄。好吧再改:
- function showUserInfo(name,age){
-
name=name||"小明";
- age=age||22;
-
alert("你好!我是"+name+",今年"+age+"岁。");
- }
function showUserInfo(name,age){
name=name||"小明";
age=age||22;
alert("你好!我是"+name+",今年"+age+"岁。");
}
调用:
- showUserInfo('小李');
-
showUserInfo('小李',19);
-
showUserInfo(null,19);
showUserInfo('小李');//结果:你好!我是小李,今年22岁。
showUserInfo('小李',19);//结果:你好!我是小李,今年19岁。
showUserInfo(null,19);//结果:你好!我是小明,今年19岁。
好了,如果我们需要再添加生日、电话、性别、QQ等等参数,又该怎么办呢?一个一个的设置默认值吗?实际上,我看到很多人确实是这样做的。下面我们来看一个更简单的方式。那就是使用Jquery的扩展。先看代码:
- 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);
- }
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的配置。
调用:
- showUserInfo({
-
name:"小李"
- });
- showUserInfo({
-
name:"小红",
-
sex:"女",
-
phone:"13777777777"
- });
-
showUserInfo({
name:"小李"
});
//结果:姓名:小李,性别:男,年龄:22,电话:13888888888,QQ:12345678,生日:1980.12.29。
showUserInfo({
name:"小红",
sex:"女",
phone:"13777777777"
});
//结果:姓名:小红,性别:女,年龄:22,电话:13777777777,QQ:12345678,生日:1980.12.29。
很简单吧!这样,就算有100个参数,都不怕了。
那么什么时候使用多个参数,什么时候使用这样的参数对象呢?我的经验是,根据实际需要,如果使用一、两个参数就可以搞定的就不使用参数对象。超过3个,我就会使用这种参数对象。
相关推荐
在编写函数时,为方法参数设置默认值是一项重要的基础知识,它允许开发者在函数调用时没有提供相应参数的情况下,使用预设的值作为默认值。这样做的好处是提高代码的健壮性和可维护性。 首先,需要了解的是,...
这种方法的好处在于它提供了更好的代码可读性,并且可以很容易地为参数设置默认值,从而使得函数调用更加灵活和安全。 例如,我们可以定义一个函数,它接受多个参数,通过对象字面量的方式直接指定参数名称和值: ...
在ES6中,你可以直接在函数声明时为参数设置默认值,如下所示: ```javascript function simue(a = 1, b = 2) { return a + b; } ``` 这种语法简洁明了,而且在处理默认值时更加高效,因为它在函数定义时就已经...
在了解了如何为JavaScript函数参数设置默认值之后,开发者应该能够熟练地使用这一机制来增强程序的健壮性和用户友好性。无论是在库的开发还是日常业务代码中,正确的参数默认值设置往往能够减少错误处理的复杂性,并...
ES6 中参数的默认值语法介绍是 JavaScript 语言的一项重要特性,它允许开发者为函数参数设置默认值,从而简化代码编写和维护。下面我们将详细介绍 ES6 中参数默认值语法的相关知识点。 一、参数默认值语法 在 ES6 ...
然而,这种方式的代码可读性并不好,且当需要为参数设置默认值时会更加复杂。 为了解决这些问题,ES6引入了Rest参数。Rest参数使用省略号(...)语法来收集函数中的剩余参数,并将这些参数作为一个数组返回。使用...
value: 'option1' // 设置默认值为黄金糕对应的value值 }; } }; ``` 在上面的代码中,我们定义了一个名为`options`的数组,其中包含了多个对象,每个对象都有`value`和`label`属性,分别用来表示每个选项的值和...
在JavaScript中,这意味着默认值表达式可以使用函数前面已经提供的参数,这为设置默认值提供了更多的灵活性。 总结而言,Rest参数和参数默认值是现代JavaScript编程中不可或缺的特性。Rest参数帮助我们更方便地处理...
现在可以直接在函数定义中为参数设置默认值,如下所示: ```javascript function mFun(p1 = -1, p2 = 'ABC') { // ... } ``` 这样的写法使得函数的意图更加清晰,也更容易阅读和维护。然而,需要注意的是,如果在...
在JavaScript ES6(ECMAScript 2015)中,引入了一种更直接的方式来为函数参数设置默认值。以下是一个简单的例子: ```javascript function func(string1, url, flag, icon) { // 如果没有提供flag,则默认值为...
本文将详细介绍如何在EasyUI Combobox中设置默认值以及如何获取选中项的text。 首先,我们来看如何设置Combobox的默认值。在EasyUI中,可以通过`setValue`方法来设定Combobox的初始值。例如,如果我们要将 Combobox...
其中,函数参数的默认值和解构赋值的默认值是两个非常实用的功能,它们允许我们在定义函数时为参数设置默认值,以及在解构对象或数组时提供默认值。下面我们将深入探讨这两个特性及其结合使用的情况。 ### 1. 函数...
现在,我们来看一下如何使用JavaScript设置这些选项的默认值。在提供的代码中,定义了一个名为`setSelectOption`的函数,它接受两个参数:`objSelect`和`targetValue`。`objSelect`是下拉选择框的引用,而`target...
在JavaScript中,定义一个函数并为其参数设置默认值是一个常见的需求,这可以帮助我们在调用函数时,如果省略了某个参数,函数也能正确地使用预设的默认值。然而,JavaScript与其他语言(如PHP或Python)在处理这个...
这一特性是ES6对函数参数处理的重要改进,解决了以前版本中为函数参数设置默认值需要通过其他方式实现的问题。 首先,让我们深入理解函数参数默认值的基本用法。在ES5及以前,我们通常使用以下方法为函数参数提供...