gpt4 book ai didi

javascript - 这个循环中++i和i++有区别吗?

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:08:06 25 4
gpt4 key购买 nike

array.prototype.reduce 函数位于:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/Reduce

它有以下循环:

for (index = 0; length > index; ++index) {
if (this.hasOwnProperty(index)) {
if (isValueSet) {
value = callback(value, this[index], index, this);
} else {
value = this[index];
isValueSet = true;
}
}
}

我认为这里索引是前递增还是后递增没有区别,因为它是在每次循环迭代之后完成的,但我想确定一下。

是否可以将其更改为 index += 1 以便通过 jslint?请不要争论 jslint 警告的优点。

这个改变会有什么不同吗?

最佳答案

i++++ii += 1 之间的唯一区别是从表达式返回的值。请考虑以下事项:

// Case 1:
var i = 0, r = i++;
console.log(i, r); // 1, 0

// Case 2:
var i = 0, r = ++i;
console.log(i, r); // 1, 1

// Case 3:
var i = 0, r = (i += 1);
console.log(i, r); // 1, 1

在这些情况下,i 在增量后保持不变,但 r 不同,i += 1 只是稍微多了一点++i 的详细形式。

在您的代码中,您根本没有使用返回值,所以不,没有区别。就个人而言,我更喜欢使用 i++ 除非有特定需要使用其他形式之一。

关于javascript - 这个循环中++i和i++有区别吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22084653/

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