2016-07-06 81 views
0

我在Javascript新手,我需要學習這個簡單的代碼,我剛纔看到在互聯網上的某個地方是如何工作的:乘以while循環前綴增量

var f = 1; 
var i = 2; 

while(++i<5) { 
    f*=i; 
} 

console.log(f); 

任何人可以幫助我瞭解如何循環工作?

+0

https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Statements/while –

回答

3

檢查評論理解它:

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)虛假如此循環將停止

+0

我的榮幸:)您可以將答案標記爲正確,以免它澄清您的疑問。 – NehaJ

2

一個不太神祕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.

+0

非常感謝:) – JTrixx16