我对箭头功能不是很熟悉,并遇到了我不理解的箭头用法。看完有关箭头功能的几篇文章后,似乎变量声明关键字应该在变量名称之前。如果没有,为什么不这样呢? (该代码有效。)
例如,为什么var
之前的let
,const
或getParameterByName
不是?
getParameterByName = (name, url) => {
...
}
答案 0 :(得分:0)
在草率模式的JavaScript中,分配给未声明的变量将在全局对象上设置该属性。这(您可以知道,因为存在此问题)令人困惑。
通常,您应始终使用strict mode。许多令人困惑的行为都在严格模式下得到解决,包括您在此处询问的情况。
'use strict';
a = () => {};
如您所见,运行此代码段会产生ReferenceError,因为未声明a
。