更新 javascript 中的现有默认参数
Update existing default parameter in javascript
在 javascript 中,是否可以更新现有函数的默认参数值?
假设我有:
function addNumbers(a, b=2) {
return a+b;
}
稍后在我的程序中我想更新 b
的默认值所以如果有人调用 addNumbers
只有一个参数 b
现在默认为其他东西,但是如果他们用两个参数调用 addNumbers
,这两个参数仍然会被使用。
如果这样的事情是可能的,你会怎么做?
编辑:
我知道如果原始函数像这样使用全局变量作为默认值是可能的:
let defaultB = 2;
function addNumbers(a, b=defaultB) {
return a+b;
}
然后对 defaultB
的任何更新都将更新 b
的默认值。有谁知道没有全局变量的方法吗?
您可以使用变量或 属性 代替文字,例如
function addNumbers(a, b=addNumbers.b) {
return a+b;
}
addNumbers.b = 2;
console.log(addNumbers(5))
addNumbers.b = 100;
console.log(addNumbers(5))
除了迷惑别人,我不确定这有什么实际用途。
在 javascript 中,是否可以更新现有函数的默认参数值?
假设我有:
function addNumbers(a, b=2) {
return a+b;
}
稍后在我的程序中我想更新 b
的默认值所以如果有人调用 addNumbers
只有一个参数 b
现在默认为其他东西,但是如果他们用两个参数调用 addNumbers
,这两个参数仍然会被使用。
如果这样的事情是可能的,你会怎么做?
编辑:
我知道如果原始函数像这样使用全局变量作为默认值是可能的:
let defaultB = 2;
function addNumbers(a, b=defaultB) {
return a+b;
}
然后对 defaultB
的任何更新都将更新 b
的默认值。有谁知道没有全局变量的方法吗?
您可以使用变量或 属性 代替文字,例如
function addNumbers(a, b=addNumbers.b) {
return a+b;
}
addNumbers.b = 2;
console.log(addNumbers(5))
addNumbers.b = 100;
console.log(addNumbers(5))
除了迷惑别人,我不确定这有什么实际用途。