我用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循环
答案 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');