簡體   English   中英

在JavaScript中為測試條件內的變量分配值

[英]Assigning a value to variable inside test condition in JavaScript

在測試條件內為變量分配值是否可以接受:

var word;
while (word = words.pop()) {
// other code
}

而不是在條件執行后評估條件:

var word;
while (words.pop()) {
  word = words.pop();
  // other code
}

哪個更好?

在第二種方法中,如果您有一個由四個元素組成的數組(“ ele1”,“ ele2”,“ ele3”,“ ele4”),則在while條件下,它將彈出ele1,然后將ele2分配給您的變量,然后在條件下再次將彈出ele3並將ele4分配給您的變量,第一個方法id越好

您不應該在使用條件的情況下避免邏輯斷言和分配之間的混淆。 =可能會誤解為==您的第二個代碼無法正常工作,因為它會彈出兩次。 在這種情況下,應這樣寫:

while (words.length > 0) {
  let word = word.pop();
  // other code 
}

是的,您可以在條件內分配變量。

在您的示例中,在條件評估的范圍內, word仍然可用。

while (word = words.pop()) {
    console.log(word);
}

就是說,測試條件應該做到這一點:測試條件。

如果養成習慣,這不會使您的代碼更容易閱讀。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM