函数的扩展

一。函数参数的默认值

参数变量是默认声明的,所以不能用letconst再次声明

使用参数默认值时,函数不能有同名参数。

另外,一个容易忽略的地方是,参数默认值不是传值的,而是每次都重新计算默认值表达式的值。也就是说,参数默认值是惰性求值的。

let x = 99;
function foo(p = x + 1) {
  console.log(p);
}

foo() // 100

x = 100;
foo() // 101

 

posted on 2017-08-01 17:45  我爱吃豌豆  阅读(106)  评论(0编辑  收藏  举报

导航