在学习ES6函数一章时,发现了一个有意思的现象,原文描述如下: 这段话主要state了3个事实: ①函数参数有默认值时,会在声明初始化阶段形成一个单独的作用域 ②这个作用域在初始化结束后消失 ③没默认值的情况下,没有①②的现象发生. 这就很有意思了,我们一般说函数作用域,一般就是和全局作用域.局部作用域相爱相杀,这下来了个“声明时作用域”,更热闹了,这3者之间到底什么关系呢? 让demo自己来说话吧. 例子1: var x = 10; function f( x,y=()=>{x=20;cons…