有区别吗?

时间:2017-03-09 07:09:44

标签: javascript

采用以下代码示例

第1块

var myObj = {}

if(true){
 myObj = {
   name: "John",
   age: 54,
   phone: "33333"
 }
}else {
  myObj = {
   code: "E233",
   qty: "34"
 }
}

第2块

if(true){
 var myObj = {
   name: "John",
   age: 54,
   phone: "33333"
 }
}else {
  var myObj = {
   code: "E233",
   qty: "34"
 }
}

if / else 声明中声明变量 myObj 是否有缺点?

1 个答案:

答案 0 :(得分:0)

因为' var'在技​​术上没有这么大的差异,但是如果你重构和改变一个变量的名称,可能会出现一个风险。

如果您只更改了一个声明,则可能无法从脚本中看到预期的行为,因为未更改的声明/赋值将有效但未使用。

然而,如果您声明变量一次而忘记重命名其中一个赋值,那么它将抛出一个错误,因为旧的变量名不再在作用域中声明,这使得捕获和修复此类错误变得更加容易。