gpt4 book ai didi

javascript - 看起来很奇怪的 Javascript for 循环

转载 作者:行者123 更新时间:2023-12-03 02:00:05 25 4
gpt4 key购买 nike

我从未见过像 for( ; i-- ; ) 这样的 JavaScript 循环,在代码中使用:

uid: function (len) {
var str = '';
var src = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
var src_len = src.length;
var i = len;

for (; i--;) {
str += src.charAt(this.ran_no(0, src_len - 1));
}

return str;
}

我理解这种行为,但如果有人可以分享一些关于这种类型的 for 循环的见解,我会很高兴。

最佳答案

这是 for-loop 的语法施工:

for ([initialization]; [condition]; [final-expression])
     statement

在你的情况下for (; i--;) {:

  • 没有变量被初始化,因为 var i = len; 已经初始化了,所以不需要。
  • 条件部分将为真,直到i变为0然后循环将终止。 i-- 在每次迭代之前执行,由于 -- 运算符,它最终会变成 0,所以它是假的,循环将停止。
  • 由于i在循环的条件部分递减,因此也不需要final-expression。另一种说法是:由于 i 不在循环内部使用,因此在每次循环迭代之前或每次循环迭代之后递减它并不重要。

话虽这么说,最好避免像上面那样编写循环,因为它非常困惑且难以阅读。更喜欢传统的 for 循环表示法。

关于javascript - 看起来很奇怪的 Javascript for 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29316378/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com