如何在javascript中的函数之间传递变量

Hus*_*ein 20 javascript variables function

以下是最简单形式的2个函数.我正在使用jquery.将var str从第一个函数传递到第二个函数的最佳方法是什么.

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

function b() {
    var new = str + " second";
};
Run Code Online (Sandbox Code Playgroud)

Nic*_*ver 30

您需要在它们之间传递它,或者从您的示例中看起来,只需在更高的范围内声明它:

var str;
function a(){
  str="first";
}
function b(){
  var something = str +" second"; //new is reserved, use another variable name
}
Run Code Online (Sandbox Code Playgroud)


Jac*_*kin 28

使用函数参数,如下所示:

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

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

可以在范围链中声明一个更高的变量,但我选择使用参数来限制对绝对需要它的上下文的变量访问.

哦,是的,这不是所谓的最小特权原则吗?