JS:函数参数默认值 [英] JS: functions arguments default values
问题描述
在某些语言中,您可以为函数的参数设置默认值:
In some languages you can set default values for function's arguments:
function Foo(arg1 = 50, arg2 = 'default') {
//...
}
你是如何用 JavaScript 实现的?
How do you do it in JavaScript?
推荐答案
在 JavaScript 中,任何未设置的值都被赋予 undefined
值.这意味着如果你想为一个函数设置默认值,你的第一行需要检查这些值是否没有定义:
In JavaScript, anything that isn't set is given the value undefined
. This means that if you want to set default values for a function, your first line needs to be a check to see if those values aren't defined:
function Foo(arg1, arg2) {
if (typeof(arg1) === "undefined") { arg1 = 50; }
if (typeof(arg2) === "undefined") { arg2 = "default"; }
}
如果您大致知道这些值是什么,您可以走一些捷径:
You can take a bit of a short cut if you know roughly what those values will be:
function Foo(arg1, arg2) {
arg1 = arg1 || 50;
arg2 = arg2 || "default";
}
但是,如果这些参数为假,它们将被替换.这意味着如果 arg1 是空字符串,null
、undefined
、false
或 0
它将被更改到50,所以如果你选择使用它要小心
However, if those arguments are falsy, they'll be replaced. This means that if arg1 is an empty string, null
, undefined
, false
or 0
it'll be changed to 50, so be careful if you chose to use it
这篇关于JS:函数参数默认值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!