gpt4 book ai didi

函数头部的 Javascript 变量声明

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:18:34 26 4
gpt4 key购买 nike

有人告诉我,javascript 变量应该在函数中使用之前出现,这样:

function contrived() {
var myA, myB;

myA = 10;
myB = 20;

return myA + myB;
}

优于:

function furtherContrivance() {
var myA = 10;
var myB = 20;

return myA + myB;
}

是这样吗?为什么会这样?

最佳答案

我猜有些人可能更喜欢前一种风格,因为它在内部是这样工作的。所有局部变量在函数的整个生命周期内都存在,即使您使用 var 在函数中间声明它们也是如此。

在函数后面声明变量并没有错,就语法而言,它可能只是令人困惑,因为变量将存在于声明它们的行之前。因此这个函数:

function bar() {
alert(foo); // Alerts "undefined". Not an error because the variable does exist.
var foo = 10;
alert(foo); // Alerts the value 10.
}

等同于:

function bar() {
var foo;
alert(foo);
foo = 10;
alert(foo);
}

另一个相关的事实是嵌套函数定义(使用 function foo() { ... } 完成)也将被移动到包含函数的顶部,因此它们甚至可用如果调用它们的代码出现在它们之前。

关于函数头部的 Javascript 变量声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8351293/

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