javascript中while循环中的奇怪行为

瓦尔奇
let cows = 4;
let width = 4;

let string = cows.toString();

while(string.length < width) {
  string = "0" + string;
}

console.log(string);

此代码将打印为 0004..我不明白的是为什么它不打印出 04040404?

朱利安·里佩

所以,一开始,你的字符串是“4”。

然后你进入while循环,你的字符串变成“04”。

条件尚未满足,因此您循环并在字符串的开头添加另一个“0”,成为“004”。

再循环一次,在字符串的开头再次添加“0”,使其成为“0004”。

在这里你的条件得到满足,你退出循环。

为了获得你想要的结果,像这样的事情会起作用

let cows = 4;
let width = 8;

let string = cows.toString();
string = "0" + string;

while(string.length < width) {
  string +=string;
}

console.log(string);

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章