我在Javascript新手,我需要學習這個簡單的代碼,我剛纔看到在互聯網上的某個地方是如何工作的:乘以while循環前綴增量
var f = 1;
var i = 2;
while(++i<5) {
f*=i;
}
console.log(f);
任何人可以幫助我瞭解如何循環工作?
我在Javascript新手,我需要學習這個簡單的代碼,我剛纔看到在互聯網上的某個地方是如何工作的:乘以while循環前綴增量
var f = 1;
var i = 2;
while(++i<5) {
f*=i;
}
console.log(f);
任何人可以幫助我瞭解如何循環工作?
while循環每次執行時,大括號內的表達式都是truthy(https://developer.mozilla.org/en-US/docs/Glossary/Truthy)。因此,當i
小於5
時,執行迭代。但++
之前i
可能會很棘手。前綴在執行前添加,因此,此循環將迭代i=2+1=3
和i=3+1=4
。
檢查評論理解它:
var f = 1;
var i = 2;
while(++i<5) { //will increment first and then check if the incremented value is less than 5
f*=i; //can also be written as f = f*i
}
console.log(f);
第一次迭代::而(3 < 5)它將使F = 1 * 3,其是3
第二次迭代::同時(4 < 5)它會使f = 3 * 4這是12
第三次迭代::while(5 < 5)虛假如此循環將停止
我的榮幸:)您可以將答案標記爲正確,以免它澄清您的疑問。 – NehaJ
一個不太神祕while
循環,做同樣的事情將是:
var f = 1;
var i = 2;
++i; // increment i
while (i < 5) { // loop while i is less than 5
f = f * i; // assign f * i to f. aka "scale f by i"
++i; // increment i
}
console.log("i:", i, "f:", f);
這裏有一個表
Iteration | i | f
------------------------------
Before loop | 3 | 1
After 1st | 4 | 3
After 2nd | 5 | 12
並且在第二次迭代之後退出,因爲5不小於5.
非常感謝:) – JTrixx16
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Statements/while –