Как передать переменные между функциями в javascript
Вот две функции в простейшей форме. Я работаю с jquery.
Каков наилучший способ передать var str от первой функции ко второй.
function a() {
var str = "first";
};
function b() {
var new = str + " second";
};
Ответы
Ответ 1
Вам нужно либо передать его между ними, либо, как кажется, из вашего примера, просто объявите его в более высокой области:
var str;
function a(){
str="first";
}
function b(){
var something = str +" second"; //new is reserved, use another variable name
}
Ответ 2
Используйте функциональные параметры, например:
function a() {
var str = "first";
b(str);
}
function b(s) {
var concat = s + " second";
//do something with concat here...
}
Вы можете просто объявить переменную выше в цепочке областей видимости, но я предпочитаю использовать аргументы для ограничения доступа переменных только к контекстам, которые в ней абсолютно необходимы.
О да, это не называется принцип наименьших привилегий?