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