在JavaScript中,为新声明的变量分配临时值有什么好处吗?例如......
var a = 0,
b = '';
// Somewhere else
a = 5;
b = 'Goodbye';
VS
var a, b;
// Somewhere else
a = 5;
b = 'Goodbye';
我知道在声明中分配变量会设置其类型。但是在JavaScript中,可以通过分配不同类型的值来轻松更改,因此不会以任何方式真正保护它。
上述有哪些优点/缺点?
答案 0 :(得分:4)
我相信优点是:在您的代码中订购。 所以你从代码的开头就知道哪个类型是var。
缺点是文件的代码行和大小更多。
答案 1 :(得分:2)
在JavaScript中声明变量类型的好处
你不能这样做,所以不适用。
为新声明的变量分配临时值有什么好处吗?
优点:
缺点:
答案 2 :(得分:1)
这里没有真正的优势。如果在设置它之前你可以处理它是未定义的,我也不会说它有很大的缺点。了解类型的工作方式,特别是在平等方面,当您在同一个运算符中混合使用不同类型并通过引用传递和按值传递时会发生什么比尝试在动态语言上使用严格的类型范例更重要。
现在,在声明对象文字时,可以省去一些提前声明所有属性的麻烦。
例如
myObject.with.way.too.much.hierarchy
如果您计划只是随意添加这些属性,那么在任何无法确定它们都被定义的情况下,您需要检查该链中是否存在所有属性因为试图访问不存在的对象的属性,即使只是检查它是否未定义将导致错误。
所以你有这样的淫秽:
if(myObject && myObject.with && myObject.with.way ...//ew
注意:我个人倾向于在一个函数中预先声明我的所有变量,但更多的是作为一个自我记录的东西。
答案 3 :(得分:0)
You have to set an initial value if you will be using any methods on the thing-
var s='',A=[];
for(var i=0;i<5;i++){
s+=i;
A.push(i);
}
否则,除了作为极简主义的文档之外,它是不必要的。
答案 4 :(得分:0)
代码可能会制动,或者在使用未定义变量时可能会出现意外结果。
将值设置为变量会在您意外使用它时帮助您 检查它是否具有已知值或类型