Должен ли я объявить переменную внутри функции или снаружи? - PullRequest
3 голосов
/ 05 мая 2019

Я действительно плохой 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)
}

и я вставляю значение Property в обоих примерах?

Ответы [ 3 ]

3 голосов
/ 05 мая 2019

Оба действительны, вам просто нужно знать, в какой области будут находиться переменные. В первом примере переменные будут доступны вне функции Multiply, они могут быть изменены другими функциями. Во втором примере они доступны только внутри функции Multiply. Выбирая, где объявлять переменные, вы должны спросить себя, где вам нужно их использовать, загрязняете ли вы глобальную область видимости и какой удар по производительности вы получаете, когда объявляете их.

1 голос
/ 05 мая 2019

Я думаю, что объявлять их снаружи лучше, потому что когда вы объявляете их внутри, вы выбираете входы каждый раз, когда запускаете функцию Multiply(). В случае двух входов это не повлияет на производительность, но в случае многих элементов это определенно повлияет на производительность.

Но когда вы объявляете элементы снаружи, вам нужно просто получить доступ к их value.

Это также зависит от важности элементов Num и Num2. Если все приложение использует их много, и они используются в других функциях, то переменные должны быть объявлены вне

0 голосов
/ 05 мая 2019

Это хорошо, если вы используете только в одной функции значение этой переменной.

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