Javascript JS:如何从函数中获得结果值?

Javascript JS:如何从函数中获得结果值?,javascript,jquery,string,Javascript,Jquery,String,我处理一个字符串,希望得到函数的最终结果,以便下一个函数可以重用它。基本上,我目前的做法是: function pre_processing(str){ str = str.replace(/\d/g, ""); // delete all digit (a simplier example than my code) return str; } function post_processing(){ // do processing n⁰2 on var str } pre_proce

我处理一个字符串,希望得到函数的最终结果,以便下一个函数可以重用它。基本上,我目前的做法是:

function pre_processing(str){
 str = str.replace(/\d/g, ""); // delete all digit (a simplier example than my code)
 return str;
}
function post_processing(){ 
 // do processing n⁰2 on var str
}
pre_processing("w0rd2");
console.log(str) // fails! Uncaught ReferenceError: str is not defined 
post_processing(str); // fails, haven't input
这行不通我做错了什么?这是一个
返回
没有做对,还是与异步JS相关?其他的2。如何正确操作?


完整的JS代码:(我尽量简化)

然后函数等于返回值,因此:

var str = pre_processing("w0rd2");

然后,函数等于该返回值,因此:

var str = pre_processing("w0rd2");
“pre_processing”函数返回一个字符串,但您没有注意返回值:

var str = pre_processing("w0rd2");
现在,在函数外部有一个名为“str”的变量

当然,您可以直接将第二个函数应用于第一个函数的结果:

console.log( post_processing( pre_processing("w0rd2") ) );
“pre_processing”函数返回一个字符串,但您没有注意返回值:

var str = pre_processing("w0rd2");
现在,在函数外部有一个名为“str”的变量

当然,您可以直接将第二个函数应用于第一个函数的结果:

console.log( post_processing( pre_processing("w0rd2") ) );

当它返回时,您必须将其分配给一个var,因为函数现在假定了求值的值,所以

var newStr = pre_processing("w0rd2");
另外,用这个来缩短你的函数

return str.replace(/\d/g,"");
而不是
str=str.replace(/\d/g,“”);返回str

最后

var newStr = post_processing(newStr);

当它返回时,您必须将其分配给一个var,因为函数现在假定了求值的值,所以

var newStr = pre_processing("w0rd2");
另外,用这个来缩短你的函数

return str.replace(/\d/g,"");
而不是
str=str.replace(/\d/g,“”);返回str

最后

var newStr = post_processing(newStr);

我不认为可以反转作用域——如果在函数内部创建变量,那么在函数外部将无法访问它
然后
函数名(){…;return str;}
。这也不起作用。我认为你不能反转作用域——如果变量是在函数内部创建的,那么在函数外部就无法访问它。我在根目录中尝试了首先创建
var str=“”
然后
函数名(){…;return str;}
。这也不行。