簡體   English   中英

將值從函數內部傳遞到JavaScript中的參數

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM