js设置函数参数默认值的3种方法

js默认是不支持funtion f($a=a){}这种写法的,如果想设置函数参数的默认值,可以参考如下三种方法:

  • 第一种方法:

  使用arguments,函数所有的参数都会存入arguments数组离去,所以我们可以从中获取相应的参数然后赋值

  

function example(a,b){
  var a = arguments[0] ? arguments[0] : 1;//设置参数a的默认值为1
  var b = arguments[1] ? arguments[1] : 2;//设置参数b的默认值为2
  return a+b;
}
  • 第二种方法

使用运算符 ||,这个等同于if(a){a=xx}的写法

function example(name,age){
  name=name||‘jason‘;
  age=age||30;
  alert(‘你好!我是‘+name+‘,今年‘+age+‘岁。‘);
} 
  • 第三种方法

  使用jquery扩展,适合参数较多的情况下

function example(setting){
  var defaultSetting={
    name:‘jason‘,
    age:‘30‘,
    sex:‘男‘,
    phone:‘100866‘,
    QQ:‘100866‘,
    birthday:‘1949.10.01‘
  };
  $.extend(defaultSetting,settings);
  var message=‘姓名:‘+defaultSetting.name
  +‘,性别:‘+defaultSetting.sex
  +‘,年龄:‘+defaultSetting.age
  +‘,电话:‘+defaultSetting.phone
  +‘,QQ:‘+defaultSetting.QQ
  +‘,生日:‘+defaultSetting.birthday
  +‘。‘;
  alert(message);
}
作者:格吾刚哥
链接:https://www.jianshu.com/p/0e6b7e7cef8c
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

原文地址:https://www.cnblogs.com/leilei-1/p/8492090.html

时间: 2024-10-16 03:23:43

js设置函数参数默认值的3种方法的相关文章

C# 函数参数默认值

namespace 函数参数默认值 { class Program { public static void Test(int i =100) { Console.WriteLine("{0}",i); } static void Main(string[] args) { Test(); Test(222); Console.Read(); } } } 输出:100 222

java函数参数默认值

java通过函数的重载来实现函数参数默认值 public class ParameterDefault { /** * @param args */ public String getName(String givenName,String familyName){ return givenName+"."+familyName; } public String getName(String givenName){ return getName(givenName,"Xie&

Python函数参数默认值的陷阱和原理深究(转)

add by zhj: 在Python文档中清楚的说明了默认参数是怎么工作的,如下 "Default parameter values are evaluated when the function definition is executed. This means that the expression is evaluated once, when the function is defined, and that the same “pre-computed” value is used

ES6函数参数默认值作用域的模拟原理实现与个人的一些推测

一.函数参数默认值中模糊的独立作用域 我在ES6入门学习函数拓展这一篇博客中有记录,当函数的参数使用默认值时,参数会在初始化过程中产生一个独立的作用域,初始化完成作用域会消失:如果不使用参数默认值,不会产生这个作用域:产生疑问是因为这段代码: var x = 1; function foo(x, y = function () {x = 2;}) { var x = 3; y(); console.log(x); }; foo();//3 foo(4);//3 console.log(x);//

C++函数带默认值的几种情形

1. 默认参数的规则 默认值定义 C++支持函数参数带默认值.这里所谓的默认值,指的是在调用函数时,可以不指定某些参数,编译器会自动把默认值传递到函数调用中. 默认值位置 指定默认值的参数必须位于形参列表最右端,从右往左.否则会出现二义性,编译器无法处理. 默认值设置 默认值可以在函数声明或函数定义中设置,只要保证不出现参数重定义即可. 2.默认参数示例 在函数声明中设置默认值 这是最常见的一种情形.主要有以下两种声明方式: 声明中给参数赋默认值 声明中用类型指定默认值 float area(f

设置参数默认值的几种错误示例

#include <iostream> #include <string> using namespace std; #if 1 //ok int add(int num1,int num2,int num3 = 0,int num4 = 0) { cout << "int add(int num1,int num2,int num3 = 0,int num4 = 0)" << endl; return num1 + num2 + num

js中function参数默认值

--在dreamweaver做网站时,函数定义是在一个*.js文件中,其中定义了一个func,有四个参数,function func(string1,url,flag,icon),然后在另一个asp中调用它func(a,b),那flag和icon的值是什么,怎么定义默认值?谢谢! --默认值应该是 undefined 在函数内预设数可以用 arguments[i] i就是你参数的位置 第一个为0 所以要设定 flag 的默认值 则可以这么写 function func(string1,url,f

3.函数参数默认值

//默认参数要指定放在右边 1 #include <iostream> 2 #include <cstdarg> 3 using namespace std; 4 5 int add(int a,int b,int c = 1) 6 { 7 return a + b + c; 8 } 9 10 void main() 11 { 12 cout << add(1, 2); 13 14 } 原文地址:https://www.cnblogs.com/xiaochi/p/854

php与js中函数参数的默认值设置

php函数参数默认值设置: <?phpfunction test($val=3){   echo $val."<br/>";}test(11);test();?> javascript函数参数默认值设置function test(){alert("test函数");} function test2(val,func){ val=val||"";//利用js中的或操作,第一个参数值为false(为空)时返回第二个参数的值.第