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

时间:2019-05-05 14:02:00

标签: javascript function var

我真的很烂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)
}

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

3 个答案:

答案 0 :(得分:3)

这两个都是有效的,您只需要知道变量所处的范围是不同的。在第一个示例中,变量将在函数Multiply之外可用,可以被其他函数修改。在第二个示例中,它们仅在“乘”函数内可用。选择变量的声明位置时,应问自己在哪里需要使用它们,是否正在污染全局范围,声明变量对性能有何影响。

答案 1 :(得分:1)

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

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

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

答案 2 :(得分:0)

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

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