下面是一個函數,它返回JavaScript中給定數字的主要因素。 我沒有寫這個函數,但一直在研究它來擴展我的編程知識。if語句中的while循環的功能是什麼? JavaScript
我的問題是關於在以下if語句中的while循環。
if(num % x){
x = 3;
while((num % x) && ((x = x+2) < root));
}
問題
- 什麼是while循環的目的,如果有後無碼?
- 當while循環評估爲真時發生了什麼?
- while循環評估爲false時發生了什麼?
這是整個功能。
function getPrimeFactors(num){
num = Math.floor(num);
var root = 0;
var factors = [];
var doLoop = 1 < num;
var x = 0;
while(doLoop){
root = Math.sqrt(num);
x = 2;
if(num % x){
x = 3;
while((num % x) && ((x = x+2) < root));
}
if(x > root){
x = num;
}else{
x = x;
}
factors.push(x);
doLoop = (x != num);
num = num/x;
}
return factors;
}
感謝您的幫助!
它改變'x'的值。 [While](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/while)循環將繼續循環,直到其條件評估爲false。 – Teemu