对于角度服务中的循环不工作 - 循环工作

时间:2013-07-25 12:53:29

标签: javascript angularjs for-loop service

我用while循环解决了这个问题 但我想在这里解释一下 - 因为它似乎很奇怪

我尝试使用for循环遍历服务中的字符串,但无法使其工作

当服务定义如下

.service('xtratxt', function()
 {
   var x = 0;
   var a = "";

   this.convert = function(srctxt)
   {
     this.a = "";
     this.x = 0;
     for (this.x=0; this.x++; this.x<srctxt.length)
     {
       this.a = ans + "X";
     }
     return ans;
   };
 })

如果我在控制器中用

调用它
$scope.newvalu = xtratxt.convert("Hello");

我应该找回一串X的Eg XXXXX 相反,我得到一个空字符串“”

如果我改为while循环 - 没有问题可以处理

任何人都知道为什么?

我也没有在控制台中出错。 AFAIK似乎根本没有进入for循环

1 个答案:

答案 0 :(得分:1)

this.convert = function (srctxt) {
    var a = "", x = 0, ans = '';
    for (x = 0; x < srctxt.length; x++) {
        ans += "X";
    }
    return ans;
};

更短的版本

var str = 'abcde';
str.replace(/\w/gi, 'X');