为什么用“ var”代替“ let”?

时间:2018-08-14 01:05:35

标签: javascript

大多数程序员都说应该始终使用“ let”,因此出现了一个问题:是否有任何理由仍然需要使用var还是完全使用var? “已弃用”?

1 个答案:

答案 0 :(得分:2)

如果仅在当前作用域中使用该变量,则应使用

let ,否则不应在当前作用域之外共享该变量,例如在其他位置使用相同的名称但不应在重用之前进行设置。大量分配变量对于使代码在范围内更易读和易于编写非常有用。

例如,您可能想写

for (let city of cities) {
    console.log(city.name + city.state + city.areacode);
}

但是您可能不想每次都写 city。 -因为尽管此for循环现在并没有做太多工作-将来您还是希望还有更多!因此,在这种情况下,您可以这样做:

for (let city of cities) {
    let cname = city.name;
    let cstate = city.state;
    let carea = city.areacode;
    console.log(cname + cstate + carea);
}

这使您可以更好地将数据与逻辑分开……而不必担心在其他地方设置cname。

关于变量的范围:

people = ["Frank", "Tina"];
for (let p of people) {
    console.log(p);
} 
console.log(p);

这将引发未分配的变量错误,但会显示前两个名称。

如果您要分配一个可以让所有人看到的变量范围,则

var 非常有用。有用的说法是,分配一个URL来检索json数据,然后即时更改该URL。因此,所有其他函数始终访问同一数据,而不是每次都调用一个函数来获取它。如果您可能想通过多个不同的功能跟踪元素,对象等,则它们很有用。

people = ["Frank", "Tina"];
for (var p of people) {
    console.log(p);
} 
console.log(p);

这将显示两个名称,但姓氏两次。

const 类似于 var ,但一旦分配就无法更改。