为什么会使用"var"而不是"let"?

  • 本文关键字:let var javascript
  • 更新时间 :
  • 英文 :


大多数程序员说应该始终使用"let",所以问题来了:是否有任何理由仍然使用var,或者它只是完全使用 var "弃用"?

如果 变量仅在当前作用域中使用,或者不应在当前作用域之外共享,例如,如果在其他地方使用相同的名称,但在重用之前不应设置,则应使用 let。它对于批量分配变量很有用,可以使代码更具可读性,并且更易于在作用域内编写。

例如,你可能想写

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

但你可能不想写城市。每次 - 因为虽然这个 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,但一旦分配就无法更改。

最新更新