javascript - 箭头函数分配给没有变量声明关键字的变量?
问题描述
我对箭头函数不是很熟悉,并且遇到了我不明白的用法。在浏览了几篇关于箭头函数的文章后,变量声明关键字似乎应该在变量名之前。如果不是,那为什么不是这样呢?(代码有效。)
例如,为什么不是var
,let
或const
before getParameterByName
?
getParameterByName = (name, url) => {
...
}
解决方案
在 sloppy-mode JavaScript 中,分配给未声明的变量将在全局对象上设置该属性。这(正如您所知道的,因为存在这个问题)是令人困惑的行为。
一般来说,您应该始终使用严格模式。许多令人困惑的行为在严格模式下得到修复,包括您在此处询问的情况。
'use strict';
a = () => {};
如您所见,运行此代码段会给出 ReferenceError 因为a
未声明。
推荐阅读
- apache-zeppelin - Zeppelin 解释器:无法跨笔记本共享解释器
- python-3.x - 从 Cloud Function 触发 Bigquery 计划查询
- python - Ansible combine 仅结合最后一项
- python - 如何使用 python 的 Selenium 捕获和提取此 toast 消息?
- mongodb - Mongo 模板 - 创建或更新
- python - Pandas 匹配 URL 列表以检查依赖关系
- authentication - 使用 Azure AD 和 Azure AD B2C 进行网站身份验证
- .net - Foreach 在工作流并行中反向工作
- c# - Blazor razor 文件中接口的多重继承
- elasticsearch - 弹性搜索 - 查询只搜索 5 个字符