【发布时间】:2011-06-03 18:49:59
【问题描述】:
这里有 2 个最简单形式的函数。我正在使用 jquery。
将 var str 从第一个函数传递到第二个函数的最佳方法是什么?
function a() {
var str = "first";
};
function b() {
var new = str + " second";
};
【问题讨论】:
标签: javascript function variables
这里有 2 个最简单形式的函数。我正在使用 jquery。
将 var str 从第一个函数传递到第二个函数的最佳方法是什么?
function a() {
var str = "first";
};
function b() {
var new = str + " second";
};
【问题讨论】:
标签: javascript function variables
使用函数参数,像这样:
function a() {
var str = "first";
b(str);
}
function b(s) {
var concat = s + " second";
//do something with concat here...
}
您可以只在作用域链中声明一个更高的变量,但我选择使用参数来限制变量仅访问绝对需要它的上下文。
哦对了,这不是叫principle of least privilege吗?
【讨论】:
您需要在它们之间传递它,或者从您的示例看来,只需在更高的范围内声明它:
var str;
function a(){
str="first";
}
function b(){
var something = str +" second"; //new is reserved, use another variable name
}
【讨论】:
a 与b 有任何关系,但它可能只是在一个地方是a(),甚至可能从未调用过,然后在另一个地方是b() .
b.call(new String(str)),实际上取决于具体情况......
我用..
function a(){
let str = "first";
localStorage.setItem('value1', `${str}`);}
function b(){
let str = localStorage.getItem('value1');
let new = str + " second";}
【讨论】: