快来加入我们吧!
"小和山的菜鸟们",为前端开发者提供技术相关资讯以及系列基础文章。为更好的用户体验,请您移至我们官网小和山的菜鸟们 进行学习,及时获取最新文章。
"Code tailor" ,如果您对我们文章感兴趣、或是想提一些建议,微信关注 “小和山的菜鸟们” 公众号,与我们取的联系,您也可以在微信上观看我们的文章。每一个建议或是赞同都是对我们极大的鼓励!
前言
在开始学习之前,我们想要告诉您的是,本文章是对阮一峰《ECMAScript6 入门》一书中 “函数的扩展” 章节的总结,如果您已掌握下面知识事项,则可跳过此环节直接进入题目练习
- 函数参数的默认值
- 作用域
- rest 参数
- 箭头函数
如果您对某些部分有些遗忘,👇🏻 已经为您准备好了!
学习链接
汇总总结
函数参数的默认值
为函数的参数指定默认值
// ES5写法
function log(x, y) {
y = y || 'World'
console.log(x, y)
}
log('Hello') // Hello World
// ES6写法
function log(x, y = 'World') {
console.log(x, y)
}
log('Hello') // Hello World
优点:
- 阅读代码的人,可以立刻意识到哪些参数是可以省略的,不用查看函数体或文档
- 有利于将来的代码优化,即使未来的版本在对外接口中,彻底拿掉这个参数,也不会导致以前的代码无法运行
注意:
- 参数变量是默认声明的,所以不能用
let
或const
再次声明
function foo(x = 5) {
let x = 1 // error
const x = 2 // error
}
- 使用参数默认值时,函数不能有同名参数
// 不报错
function foo(x, x, y) {
// ...
}
// 报错
function