[英]Passing value from inside of function to a parameter in JavaScript
我有一个替换字符串中字符的函数
function ratko(a) {
var k = a.toString();
var z = k.replace(/\,/g, '], [');
var s = z.replace(/\./g, ', ');
var final = "[[" + s + "]]";
alert(final);
}
我需要的是在像这样的函数之外获取final
的值:
var outsideValue = final;
编辑!!! -
函数ratko()从ajax获取其值
成功:功能(数据){
如果(data.success){
alert(“注意:这个月有” + data.holidays.length +“假期。”);
praznici = data.holidays;
拉特科(praznici);
}
其他{
alert(data.ErrorMessage);
}
可能性1:
function ratko (a) {
...
return final;
}
var outsideValue = ratko (...);
可能性2:
var final;
function ratko (a) {
// no var final declaration here
...
}
...
ratko (...);
// now final has the value assigned to it in the function
您可以在内部范围中访问在外部范围中声明的变量,这是您在可能性2中所做的。
您在函数范围之外声明它:
var finalVar;
function ratko(a) {
var k = a.toString();
var z = k.replace(/\,/g, '], [');
var s = z.replace(/./g, ', ');
finalVar= "[[" + s + "]]";
alert(finalVar);
}
var outsideValue = finalVar;
当心final
是Javascript中的保留关键字。 我改了名字。 除此之外,请记住,总是从上到下解析Javascript。 因此,在声明变量之前使用变量肯定会给您undefined
的变量。
一种选择是使用全局变量,只需在函数外部声明它即可。
var myvar = 1;
function myFunction()
alert(myvar); // 1
}
您可以在此处阅读有关javascript变量的更多信息 。
您必须像这样修改您的功能代码
function ratko(a) {
var k = a.toString();
var z = k.replace(/\,/g, '], [');
var s = z.replace(/./g, ', ');
var final = "[[" + s + "]]";
//alert(final); comment this code line and replace this with the code above
return final;
}
您可以使用以下简单代码调用函数ratko
之后
var inputValue = 'simple message';
var parsedValue = ratko(inputValue);
您会在新变量parsedValue
找到final
值
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.