gpt4 book ai didi

javascript - 是否需要声明函数变量(在 Javascript 中)?

转载 作者:行者123 更新时间:2023-11-30 08:03:47 25 4
gpt4 key购买 nike

我学校的老师教我们必须像这样专门声明函数变量:

function something(var1, var2)
{
var var1, var2;
console.log(var1);
console.log(var2);
}

something("Totally", "Cool");

但是我似乎找不到任何关于此的主题,所以我的问题是,这是否是必需的?将 var var1, var2; 留在外面不是很正常吗?

如果是这样,这是否在 W3C JavaScript 文档的某处说明?

我的意思是它可以以任何一种方式工作,但如果它没有工作......我会说更清晰的代码:P

我说的代码:http://pastebin.com/y5B2aznc

谢谢!

最佳答案

在 javascript 中,变量的范围取决于它们的声明方式:

  • 如果在定义变量时声明变量,则变量的作用域是全局
  • 如果您使用 var 关键字声明它,则变量的范围是在函数内
  • 如果您使用较新的 ES6 let 关键字,变量的范围是在当前 block 内

所以最好不要使用全局变量并始终限制变量的范围。

这里有一些解释 javascript 中变量作用域的引用资料:

您绝对还应该阅读 Douglas Crockford 的 Javascript,好的部分:

编辑:

在您的特定情况下,它没有用:

function something(var1, var2)
{
var var1, var2;
console.log(var1);
console.log(var2);
}

当您将这些变量作为函数的参数时,它们已经在函数范围内声明,因此再次将它们声明为 var 是多余的,您可以安全地删除该行。

function something(var1, var2)
{
console.log(var1);
console.log(var2);
}

关于javascript - 是否需要声明函数变量(在 Javascript 中)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21625685/

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