![](/img/trans.png)
[英]php javascript echo javascript variable to php loop condition dynamically using onclick or how can I use ajax to solve it?
[英]Javascript ' Array ' and ' Loop ' how can “ variable[i] ” be a CONDITION
在這個腳本中,cars [i]被用作條件,程序如何識別條件是true
還是false
,並且程序在進入數組中的第4個變量后正確停止?
所以問題是:程序如何識別條件以及如何將汽車[i]作為一種條件。
var cars = ["BMW", "Volvo", "Saab", "Ford"];
var i = 0;
var text = "";
for (;cars[i];) {
text += cars[i] + "<br>";
i++;
}
這里有兩件事情在起作用:
在JavaScript中,當您使用值作為條件時,它被強制為布爾值。 值0
, ""
, NaN
, null
和undefined
強制為false
(它們加上false
,稱為“falsey”值); 所有其他人(“真理價值觀”)都強迫歸於true
。
如果您嘗試訪問數組中不存在的條目,則會返回undefined
。
因此,當i
達到4
, cars[i]
是undefined
,這會強制為false
,並且循環停止。 但依賴於此可能會設置一個陷阱,因為如果cars
中的任何條目強制為false
(在該示例中沒有,但是......),循環將在處理整個陣列之前停止。
旁注: for (; condition ;)
是一種非常奇怪的寫入方式while (condition)
。 如果您沒有初始化,測試和更新的部分, for
可能不是你想要的控制結構。 你說你試圖理解這段代碼,所以我猜你沒有寫它; 請注意質量可能不會那么高。
這是編寫該循環的“正常”方式:
var cars = ["BMW", "Volvo", "Saab", "Ford"];
var i;
var text = "";
for (i = 0; i < cars.length; i++) {
text += cars[i] + "<br>";
}
或者更現代的東西:
var cars = ["BMW", "Volvo", "Saab", "Ford"];
var text = "";
cars.forEach(function(car) {
text += car + "<br>";
});
或者更高級的東西,但也許對初學者有所幫助:
var cars = ["BMW", "Volvo", "Saab", "Ford"];
var text = cars.reduce(function(acc, car) {
return acc + car + "<br>";
}, "");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.