<强> 强>
在ES6如果函数参数没有值或未定义的,默认函数参数允许将初始值初始化为默认值。下面来看看详细的介绍吧。
函数[名称]([param1 [=defaultValue1] [,……,paramN [=defaultValueN]]]) { 语句 }
在JavaScript中,函数默认参数定义。然而,在某些情况下,设置不同的默认值可能是有用的。这是默认参数可以帮助的地方。
在过去,设置默认值的一般策略是在函数体中测试参数值,如果它们是未定义的就分配一个值。如果在下面的例子中,在调用过程中b没有提供值,它的值将是未定义当对a * b求值并且调用这个乘法的时候将返回南。
函数相乘(a, b) { var b=(typeof b !==ㄒ濉?& # 63;b: 1; 返回一个* b; } 把(5);//5
在ES6中设置默认参数,对函数体的检查是不必须的了。现在,你可以简单的在函数头设置默认值:
函数相乘(a, b=1) { 返回一个* b; } 把(5);//5 >之前
<强>通过未定义强>
在第二个函数调用中,即使第二个参数明确地被设置为未定义(虽然不是null),但是这个函数的颜色参数有一个默认值。
函数setBackgroundColor(元素、颜色=玫瑰棕色){ element.style。写成backgroundColor=颜色; } setBackgroundColor (someDiv);//颜色设置为“玫瑰棕色” setBackgroundColor (someDiv未定义);//颜色设置为“玫瑰棕色” setBackgroundColor (someDiv,“蓝”);//颜色设置为“蓝”<强>调用时求值强>
默认参数在调用时计算的,所以不像在Python中,一个新的对象是每次调用函数创建。
附加功能(价值,数组=[]){ array.push(价值); 返回数组; } 追加(1);//[1] 追加(2);//[2],[1,2]甚至适合于函数和变量
函数callSomething(的东西=()){返回件} 函数的东西(){ 返回“某事”; } callSomething ();//?/pre><强>默认参数可以提供给以后的默认参数强>
已经遇到的参数可以提供给以后的默认参数:
函数singularAutoPlural(单数、复数=单数+“s”, rallyingCry=复数+“攻击!”){ 返回(单数,复数,rallyingCry); }//(“壁虎”、“壁虎”、“壁虎攻击! ! !” singularAutoPlural(“壁虎”);//(“狐狸”、“狐狸”、“狐狸攻击! ! !” singularAutoPlural(“狐狸”、“狐狸”);//(“鹿”、“鹿”、“鹿…改变。”) singularAutoPlural(“鹿”、“鹿”、“鹿和平和尊重 请求政府积极的改变。”)
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对的支持。
ES6中参数的默认值语法介绍