繁体   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