gpt4 book ai didi

javascript - 在同一 JavaScript 函数中重复使用变量的场景 : Always a No No?

转载 作者:太空宇宙 更新时间:2023-11-04 01:11:01 24 4
gpt4 key购买 nike

我刚刚写完一个解析 csv 数据的脚本。最近安装了 JShint,它一直困扰着我关于变量重用的问题。我最近经常使用 JS,但我有 Python 背景,重用变量是很正常的。我想知道在以下两个示例中重用变量存在哪些问题:

带开关的循环

以下循环遍历 csv 文件中的行,当它在行中传递特定值时,会将变量“currentSwitch”从 false 切换为 true。 currentSwitch 触发后,循环开始将内容推送到数组。

for (f=0; f < data.length; f++){
if (data[f][0] === code){
if (currentSwitch === true){
dataListByCode.push(data[f]);
}
}
else if ((data[f][0]).slice(0,4) === "UNIN"){
var currentSwitch = true;
}
}

使用中断函数处理数据

我有一些用于处理数据的函数,将它们分开是有意义的。在下面的代码中,我使用一个函数进行处理,然后使用另一个函数进行处理。

var dataListByCode = addDivideData(dataListByCode);
var dataListByCode = addBeforeEntriesArray(dataListByCode, invNumber, matterNumber, client, workType);

谁能告诉我这是否不符合最佳实践?这些(或类似的场景)是否会出现任何问题?

最佳答案

您不需要重新声明 currentSwtich

var currentSwitch = true;

事实上,在循环中间重新声明这个变量确实没有任何意义,而且在大多数情况下,它几乎肯定不是您真正想要的。

只需在循环开始时初始化/声明一次

var currentSwtich;
// or
var currentSwitch = false;

当您将其设置为 true 时,删除 var:

currentSwitch = true;

基本上,您所做的就是创建一个与旧变量同名的全新变量,并丢弃旧变量。这并不是您通常想要的。

Python 中没有类似的概念,因为 Python 不需要声明变量。

关于javascript - 在同一 JavaScript 函数中重复使用变量的场景 : Always a No No?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17628172/

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