ES6 函数形参默认值–块级上下文大坑
一、首先这个大坑是什么、怎么形成的呢?
在新版本浏览器中函数执行时,如果形参有默认值(不论函数执行时是否传值),且在函数体中还基于let、const、var声明了变量,那么除了默认形成的函数执行上下文还会多创建一个块级私有上下文。
多一个块级执行上下文能有多大亿点事呢?看看下面两段代码~
var x = 1;
function func(x,y=function anonymousl(){
x=2}) {
x = 3;
y();
console.log(x);
}
func(5);
console