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

Glo*_*ker 4 javascript var function

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

像这样

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)
}
Run Code Online (Sandbox Code Playgroud)

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

小智 5

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

  • 恕我直言,所有明智的建议。我只想补充一点,您还必须考虑每个变量的值是否需要在函数的生命周期之后持续存在,或者是否应该在每次函数运行时重置。如果它是在函数内部声明的,那么它每次都会重置 (4认同)

Mah*_*Ali 5

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

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

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