1

我有一个函数可以替换字符串中的字符

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 获取它的值

success: function (data) {
if (data.success) {
alert("注意:这个月有 " + data.holidays.length + " 假期。");
praznici = data.holidays;
拉特科(普拉兹尼奇);
}
其他 {
警报(数据。错误消息);
}

4

4 回答 4

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 中所做的。

于 2012-08-27T08:55:09.183 回答
0

一种选择是使用全局变量,只需在函数之外声明它。

var myvar = 1;
function myFunction()
   alert(myvar); // 1
}

您可以在此处阅读有关javascript 变量的更多信息。

于 2012-08-27T08:57:55.347 回答
0

您在函数范围之外声明它:

  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;

Bewarefinal是 Javascript 中的保留关键字。我改变了它的名字。除此之外,请记住,Javascript 总是从上到下解析的。所以在声明它之前使用一个变量肯定会给你一个undefined.

于 2012-08-27T08:52:53.623 回答
0

你必须像这样修改你的功能代码

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);

你找到final一个新变量的值parsedValue

于 2012-08-27T09:07:20.073 回答