gpt4 book ai didi

javascript - 我们是否应该手动将所有 JavaScript 变量提升到函数定义的前面?

转载 作者:行者123 更新时间:2023-11-30 15:23:00 26 4
gpt4 key购买 nike

我听说,由于 JavaScript 会将所有局部变量提升到函数的前面,所以程序员最好自己提升它,这样一切都被视为事情的实际发生方式。

例子是:

var i, result = [];

也就是在函数的开头声明所有的局部变量。

但是我在一些经典的代码中也看到了,比如React JS的源码中,它会做

for (var i = 0; i < ...; i++) { ... }

即在第一次使用i时声明它——这样如果删除这一行,声明将一起删除。

如果我们手动提升它,则存在这样的危险,即当该循环被移除时,var i; 仍然留在那儿。 (尽管 linting 可能会捕捉到它)。

当我将所有变量都提升到函数定义的前面时,我也看到面试官奇怪的表情。

我们应该将所有变量提升到前面吗?或者,如果我们提升除临时变量(例如 ij)之外的所有变量会怎样?

最佳答案

将变量的暴露限制在它们有用的上下文中可能是一种非常有值(value)的自动文档策略:它让下一个拿起代码的人知道变量在哪里和不相关。所以不,不要“提升”,因为 JavaScript 引擎在内部执行此操作

关于javascript - 我们是否应该手动将所有 JavaScript 变量提升到函数定义的前面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43416617/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com