我应该在函数内部还是外部声明一个变量?

Should I declare a variable inside a function or outside?

我真的很糟糕 javascript 如果您觉得这个问题很愚蠢,请不要误会我的意思; 如果我有两个变量,我应该在函数内部还是外部声明它们?

像这样

var Num = document.querySelector("#Fnumber");
var Num2 = document.querySelector("#Secnumber");
function Multiply(){
alert(Num.value + Num2.value)
}

//or declaring variable inside a function like this ?

function Multiply(){
var Num = document.querySelector("#Fnumber").value;
var Num2 = document.querySelector("#Secnumber").value;
alert(Num + Num2)
}

我在两个示例中粘贴的值 属性 是否正确?

两者都有效,您只需要注意变量所处的不同范围。在第一个示例中,变量将在函数 Multiply 之外可用,它们可以被其他函数修改。在第二个示例中,它们仅在 Multiply 函数内可用。在选择在哪里声明变量时,您应该问问自己需要在哪里使用它们,是否污染了全局范围,以及声明它们时对性能的影响有多大。

如果您只在一个函数中使用此变量值,这很好。

function Multiply(){
var Num = document.querySelector("#Fnumber").value;
var Num2 = document.querySelector("#Secnumber").value;
alert(Num + Num2)
}

我认为在外部声明它们更好,因为当您在内部声明它们时,您每次 运行 函数 Multiply() 时都在选择输入。在两个输入的情况下,它不会影响性能,但在许多元素的情况下,它肯定会影响性能。

但是当您在外部声明元素时,您只需要访问它们的 value

这也取决于元素 NumNum2 的重要性。如果整个应用程序大量使用它们并且它们也在其他函数中使用,那么变量应该在外部声明