-1

我已经用一个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 的字符串,例如 XXXXX,而不是我得到一个空字符串“”

如果我更改为 while 循环 - 没有问题是一种享受

有谁知道为什么?

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

4

1 回答 1

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');
于 2013-07-25T13:10:04.083 回答