2017-03-09 62 views
-3

采取下面的代码示例有区别吗?

块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" 
} 
} 

是否有声明变量MyObj中内部的if/else语句一个缺点?

回答

0

因为“变种”悬挂有没有这么多的不同技术,但可能会弹出一个风险是,如果你重构和改变一个变量的名称。

如果你只改变一个声明,你可能看不到您的脚本作为不变的声明中预期的行为/分配将是有效的,但未被使用。

鉴于如果您声明变量一次而忘记重命名其中一个赋值,它将引发错误,因为旧变量名称不再在范围中声明,这使得更容易捕获和修复这些错误。