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;}
。这也不行。