web-dev-qa-db-fra.com

Comment passer des variables entre des fonctions en javascript

Voici 2 fonctions sous la forme la plus simple. Je travaille avec jquery. Quelle est la meilleure façon de passer var str de la première fonction à la seconde.

function a() {
    var str = "first";
};

function b() {
    var new = str + " second";
};
19
Hussein

Vous devez soit le passer entre eux, soit il semble d'après votre exemple, simplement le déclarer dans une portée plus élevée:

var str;
function a(){
  str="first";
}
function b(){
  var something = str +" second"; //new is reserved, use another variable name
}
29
Nick Craver

Utilisez des paramètres de fonction, comme ceci:

function a() {
   var str = "first";
   b(str);
}

function b(s) {
   var concat = s + " second";
   //do something with concat here...
}

Vous pourriez simplement déclarer une variable plus haut dans la chaîne de portée, mais je choisis d'utiliser des arguments pour restreindre l'accès aux variables uniquement aux contextes qui en ont absolument besoin.

Oh ouais, n'est-ce pas ce qu'on appelle le principe du moindre privilège ?

27
Jacob Relkin