ES6 函数中声明报错问题 笔记

关于ES6中函数形参默认值时,函数形参多次声明相同变量的形参报错的问题:

ES6 函数中声明报错问题 笔记_第1张图片
示例代码

当函数形参中有 y = 4;相当于let y = 4;也就那么相当于 let x,let x,let y = 4;多次let相同变量会报错。


ES6 函数中声明报错问题 笔记_第2张图片
报错信息



关于ES6中 let 声明该变量前,访问所声明的这个变量问题,会报错。

ES6 函数中声明报错问题 笔记_第3张图片
示例代码


报错信息

// 报错:Uncaught ReferenceError: a is not defined。

// 因为a = 10;没有变量提升,但是let a = 1;有声明阶段,

// 即'当解释器进入了一个包含 let variable 语句的块级作用域中。

//这个变量立即通过了声明阶段,并在作用域内注册了它的名称,

// 这时如果你在这个阶段尝试访问 variable,

//JavaScript 将会抛出 ReferenceError: variable is not defined。因为这个变量的状态依然是未初始化的。

// 所以当开始执行a = 10;时会向作用域内寻找a,寻找即是访问,所以会报错


你可能感兴趣的:(ES6 函数中声明报错问题 笔记)