{
var a;
function a () {}
} // Uncaught SyntaxError: Identifier 'a' has already been declared
ES6 规定,块级作用域之中,函数声明语句的行为类似于let,在块级作用域之外不可引用。
而在es6的浏览器中,为了减轻对老代码的影响,函数的申明类似于var,所以我的理解是
{
var a = function () {};
var a;
} // 并不会出现问题
请问,造成上面错误的原因是什么,谢谢!
繁花如伊
相关分类