JS:如何从其功能中获得结果价值?

时间:2013-11-06 19:34:22

标签: 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_processing("w0rd2");
console.log(str) // fails! Uncaught ReferenceError: str is not defined 
post_processing(str); // fails, haven't input

这不起作用。 我做错了什么?return做得不对,还是与异步JS相关?其他?的 2。怎么做对了?

完整的JS代码: http://jsfiddle.net/hugolpz/CYwD3/7/ (我尽可能简单)

3 个答案:

答案 0 :(得分:5)

然后该函数等于该返回值,所以:

var str = pre_processing("w0rd2");

答案 1 :(得分:2)

你的“pre_processing”函数返回一个字符串,但是你没有注意返回值:

var str = pre_processing("w0rd2");

现在你有一个名为“str”的变量函数。

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

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

答案 2 :(得分:1)

返回时必须将它分配给var,因为函数现在已经假定了评估的值,所以

var newStr = pre_processing("w0rd2");

此外,使用此

缩短您的功能
return str.replace(/\d/g,"");

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

最后

var newStr = post_processing(newStr);