轻松学习 javascript——第 3 部分:函数中的默认参数-亚博电竞手机版

本文由码农网 – 小峰原创翻译,转载请看清文末的转载要求,欢迎参与我们的付费投稿计划!

javascript函数可以有默认参数值。通过默认函数参数,你可以初始化带有默认值的正式参数。如果不初始化具有某些值的参数,则该参数的默认值为undefined。

请看下列代码:

function foo(num1){     console.log(num1); } foo();

在调用函数foo时,你没有传递任何参数,因此变量num1的默认值设置为undefined。但是,有时你可能需要设置默认值而非undefined。过去,最好的策略是测试参数值undefined,然后分配一个值。所以,在上面的例子中,如果你想要将num1的默认值设置为9,那么你可以按照以下代码所示的方式做:

function foo(num1) {     if (num1 === undefined) {         num1 = 9;     }     console.log(num1); } foo();

ecmascript 6引入了函数的默认参数。使用ecma 2015的默认参数功能,你将不再需要检查未定义的参数值。现在,你可以将9设置为参数本身的默认值。你可以重写上述函数以使用默认值,如下所示:

function foo(num1 =9) {     console.log(num1); } foo();

对于函数foo,如果num1参数的值未被传递,那么javascript将设置9作为num1的默认值。

检查未定义的参数

即使你在调用函数时明确地传递undefined作为参数值,参数值也将设置为默认值。

function foo(num1 =9) {     console.log(num1); } foo(undefined);

在上面的代码中,你传递undefined为num1的值;因此,num1的值将被设置为默认值9。

运行时计算默认值

javascript函数默认值在运行时计算。为了更好地理解这一点,请看以下代码:

function foo(value = koo()) {     return value; } function koo() {      return "ignite ui"; } var a = foo(); console.log(a);

在函数foo中,参数值的默认值设置为函数koo。在运行时调用函数foo时,将计算函数koo。调用foo函数后,你会得到如下图所示的输出(在这个例子中,我们使用了ignite ui框架)。

重用默认参数

默认参数可供之后的默认参数使用。请看下列代码:

function foo(num1 = 9, num2 = num1   8){     console.log(num2); } foo();

在上面的代码中,使用num1的默认值来计算num2的默认值。调用函数foo时将得到以下输出:

结论

javascript默认参数在编写函数时非常有用。在调用函数时,如果缺少参数,则默认参数功能允许你为函数参数分配默认值,而不是将其定义为undefined。

系列目录

轻松学习 javascript——第 1 部分:了解 let 语句

轻松学习 javascript——第 2 部分:函数中的 rest 参数

轻松学习 javascript——第 3 部分:函数中的默认参数

轻松学习 javascript——第 4 部分:函数中的 arguments 对象

轻松学习 javascript——第 5 部分:简化函数提升

轻松学习 javascript——第 6 部分:javascript 箭头函数

轻松学习 javascript——第 7 部分:对象属性描述符

轻松学习 javascript——第 8 部分:javascript 中的类

译文链接:http://www.codeceo.com/article/easy-javascript-03-default-param.html 英文原文:easy javascript part 3: what is a default parameter in a function? 翻译作者:码农网 – 小峰 [ 转载必须在正文中标注并保留原文链接、译文链接和译者等信息。]

展开全文
内容来源于互联网和用户投稿,文章中一旦含有亚博电竞手机版的联系方式务必识别真假,本站仅做信息展示不承担任何相关责任,如有侵权或涉及法律问题请联系亚博电竞手机版删除

最新文章

网站地图