为什么互斥if子句中的声明被认为是重复的?
Javascript - Why are declarations in exclusive if clauses considered duplicate?
使用以下JavaScript
if (someCondition){
var x = ...; //Resharper warns that this is a duplicate declaration
}
else {
var x = ...; //Resharper warns that this is a duplicate declaration
}
但是作用范围是不同的?为什么这很重要?这是JavaScript独有的吗?
我在c#中没有得到这样的警告。
或者——这是一个错误的Resharper警告吗?
JavaScript中的变量默认绑定到函数作用域,而不是块作用域。在块内定义的变量被提升到函数作用域,这是一个非常常见的错误来源。以及你的情况。
变量可以用let
关键字在块范围内声明,尽管这需要JavaScript 1.7。
相关文章:
- 从我的控制器返回一个不同于200的代码以触发ajax错误,这被认为是一种好的做法吗
- 为什么typeof的数组的数组的未定义值返回为“0”;未定义的“;我的条件不认为是真的
- 为什么使用“new”创建一个Javascript数组被认为是不好的
- 为什么流星会被认为是不安全的
- 这些被认为是Javascript闭包吗
- 美元符号可以被认为是jquery中的宏吗?
- 为什么要将一个函数赋给一个变量,而不是声明一个命名函数
- 我的javascript函数有问题,我认为是document.getElementById('vodObj
- 这个JS函数会被认为是递归的吗
- 什么'It是声明对象的最佳方式
- 什么是声明性环境记录,它与激活对象有何不同
- “var self=this”被认为是一种代码气味
- 为什么数字垫被认为是字符
- jQuery.ajax认为是什么响应;成功”;
- 为什么这些字符被认为是大写的
- 什么被认为是在节点模块中共享“全局”变量的好方法
- JavaScript 认为是星期四和星期五
- 如果 JS 包装器对象被认为是糟糕的风格,那么使用 lodash _.isString 等进行类型检查是否也被认为是糟糕
- 为什么全局变量被认为是不好的做法?(node.js)
- 为什么互斥if子句中的声明被认为是重复的?