function put(toy toyBox = [
) {
toyBox.push(toy);
return toyBox;
console.log(put('Toy Car'));
// -> ['Toy Car'
console.log(put('Teddy Bear'));
// -> ['Teddy Bear'
not ['Toy Car''Teddy Bear'
该参数可以采用函数结果的默认值 。
考虑以下示例:
function date(d = today()) {
console.log(d);
function today() {
return (new Date()).toLocaleDateString(\"en-US\");
date();
date() 函数采用一个参数 , 其默认值是 today() 函数的返回值 。 today() 函数以指定的字符串格式返回今天的日期 。
当我们声明 date() 函数时 , today() 函数在我们调用 date() 函数之前尚未计算 。
我们可以使用这个特性来使参数成为强制性的 。 如果调用者没有传递任何参数 , 我们会抛出如下错误:
function requiredArg() {
throw new Error('The argument is required');
function add(x = requiredArg() y = requiredArg()){
return x + y;
add(10); // error
add(1020); // OK
3) 在默认值中使用其他参数
我们可以为参数分配一个引用其他默认参数的默认值 , 如以下示例所示:
function add(x = 1 y = x z = x + y) {
return x + y + z;
console.log(add()); // 4
在 add() 函数中:
y 的默认值设置为 x 参数 。
z 的默认值是 x 和 y 的和
add() 函数返回 x、y 和 z 的总和 。
参数列表似乎有自己的范围 。 如果引用尚未初始化的参数 , 则会报错 。 例如:
function subtract( x = y y = 1 ) {
return x - y;
subtract(10);
错误信息:
Uncaught ReferenceError: Cannot access 'y' before initialization
使用函数
我们可以使用函数的返回值作为参数的默认值 。 例如:
let taxRate = () => 0.1;
let getPrice = function( price tax = price * taxRate() ) {
return price + tax;
let fullPrice = getPrice(100);
console.log(fullPrice); // 110
在 getPrice() 函数中 , 我们调用了 taxRate() 函数来获取税率 , 并使用这个税率从价格中计算出税额 。
参数对象
函数内部参数对象的值arguments是我们传递给函数的实际参数的数量 。 例如:
function add(x y = 1 z = 2) {
console.log( arguments.length );
return x + y + z;
add(10); // 1
add(10 20); // 2
add(10 20 30); // 3
现在 , 我们应该了解了 JavaScript 默认函数参数以及如何有效地使用它们了 。
【芯片|web前端培训 - 如何设置函数参数的默认值】
- 跑分|vivoS16Pro选用9000芯片,103万高跑分+1亿像素,配置崛起了
- 芯片|外媒:老美“加码”相关限制后,更为“棘手”的后果已经出现!
- 小米科技|小米两款“Ultra”新机齐遭曝光,分别搭载骁龙8+和天玑9000+芯片
- iqoo|iQOO 10系列搭载蓝厂自研V1 ISP芯片 有望首发天玑9000+新机版本
- 小米科技|vivoX80和小米12掰手腕,均有4nm芯片,价格都是3699元该买谁?
- 芯片|二手商品可以放心买吗?体验转转买手机后,我有话说
- 芯片|美媒:“断供”就是个错误,华为已经突破了
- Google|这才是“小钢炮”,A15芯片+5.42英寸小屏+140g,已降至4599元起
- 众多搭载国产芯片的百元手机能买吗?是便宜没好货还是高性价比?
- 红米手机|天玑8100+独显芯片+旗舰主摄,256GB跌至2199元,性价比不输红米
