即使在单独的作用域中也已经定义了 Jslint 变量
Jslint variable already defined even in a separate scope?
使用以下代码,JsLint 警告 y 已经在第二个块中定义。我经常这样做,并且不认为这是语法错误,因为变量是在不同的块中定义的。
即使它在不同的块中,我真的应该使用不同的变量名称吗?作用域是由 if 语句的代码块定义的,还是仅针对功能块定义的范围?
function x() {
if (condition1) {
var y = 0;
// use y
}
if (condition2) {
var y = 20;
// use y
}
}
声明一次
function x() {
var y;
if (condition1) {
y = 0;
}
if (condition2) {
y = 20;
}
}
JS将来会有块范围,但它还没有广泛实现。
在 if
语句中没有不同的作用域,for
语句和 while
语句中,但函数中存在。
我知道
已经有公认的答案了,但我认为你正在寻找的是一个let
陈述。
请参考此答案以了解变量范围(let
与var
):https://stackoverflow.com/a/11444416/3670089
相关文章:
- Socket.IO未定义变量
- 像createComment这样的各种自定义变量名在内联javascript中被覆盖,但在外部js中没有.为什么?
- 已定义变量出现未定义错误
- 使用eval()定义变量显示未定义的错误
- 在javascript变量中添加php定义变量
- 如何在来自另一个文件的控制器中定义变量
- 如何在不定义变量的情况下使用 document.createElement()
- 清除 Javascript 中窗口对象中的自定义变量
- 更改 Javascript 对象中所有未定义变量的值
- 定义变量是否比在 JS 中覆盖变量使用更多的资源
- 是否有类似Object.defineProperty的方法来定义变量
- coffeescript,类未定义变量
- 使用下划线未定义变量时发生抛出/捕获错误
- 如何为ajax定义变量,以及addeventlistener/pushstate函数?Javascript,而不是jQu
- 网络浏览器正在成为“;严格的“;用于Javascript中未定义变量的操作
- 使用window.location时未定义变量
- 在条件(if)结构的条件语句中是否有定义变量的有效方法
- 传递给数据的未定义变量
- bizzare未定义变量
- JavaScript 中全局范围内存在未定义变量的原因是什么?