[英]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.