for迴圈寫法進階
1、常用寫法:
for(var i=0;i<arr.length;i++){ console.log(i); console.log(arr[i]); }
每次都需要讀取一次arr.length,進行判斷
2、
for(var i=0,len=arr.length;i<len;i++){ console.log(i); console.log(arr[i]); }
變數定義完整,不用再從陣列取回長度,直接讓電腦判斷i與length
3、
for(var i=0,val;val=arr[i++];){ console.log(i); console.log(val); }
判斷與賦值放在一起,邊循環邊賦值;
再看一個for(var i=10;i--;){console.log(i);}
粗看一開始會以為是錯誤的,因為語句沒有完整,不過迴圈會是10次,為什麼?
因為條件句第二句i<10;回傳的是true;而在js中0,null,undefined,false和空字串都會是false值
所以,在i變成0的時候自動轉換為布林值false,從而進行循環結束終止;
這個理解了那再回頭看上面第三種寫法,
for(var i = 0;i<arr.length;i++){ var val = arr[i]; }
i = 0與var同時放在初始條件,val = arr[i++]判斷,如果arr[i++]>了arr.length,則val就是未定義,判斷為undefined,判斷終止,循環結束;
#故,循環中可以透過簡寫利用0,null,undefined,false和空字串等進行判斷,學會程式設計思考。
以上是for迴圈寫法進階的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

熱門話題

Java回呼函數的基本寫法和使用方法引言:在Java程式設計中,回呼函數是一種常見的程式模式,透過回呼函數,可以將某個方法作為參數傳遞給另一個方法,從而實現方法的間接呼叫。回調函數的使用,在事件驅動、非同步程式設計和介面實作等場景中非常常見。本文將介紹Java回呼函數的基本寫法和使用方法,並提供具體的程式碼範例。一、回呼函數的定義回呼函數是一種特殊的函數,它可以作為參數

MyBatis中小於號的寫法詳解MyBatis是優秀的持久層框架,廣泛應用於Java開發中。在使用MyBatis進行資料庫操作的過程中,我們常常會用到小於號(

lambda表達式跳出循環,需要具體程式碼範例在程式設計中,循環結構是常用的一種重要語法。然而,在特定的情況下,我們可能希望在循環體內滿足某個條件時,跳出整個循環,而不是僅僅終止當前的循環迭代。在這個時候,lambda表達式的特性可以幫助我們達成跳脫循環的目標。 lambda表達式是一種匿名函數的宣告方式,它可以在內部定義簡單的函數邏輯。它與普通的函數聲明不同,

註:本文以Go語言的角度來比較研究循環和遞歸。在編寫程式時,經常會遇到需要對一系列資料或操作進行重複處理的情況。為了實現這一點,我們需要使用循環或遞歸。循環和遞歸都是常用的處理方式,但在實際應用中,它們各有優缺點,因此在選擇使用哪種方法時需要考慮實際情況。本文將對Go語言中的循環和遞歸進行比較研究。一、循環循環是一種重複執行某段程式碼的機制。 Go語言中主要有三

這篇文章將為大家詳細講解有關PHP返回數組所有值,組成一個數組,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章後可以有所收穫。使用array_values()函數array_values()函數傳回陣列中所有值的陣列。它不會保留原始數組的鍵。 $array=["foo"=>"bar","baz"=>"qux"];$values=array_values($array);//$values將是["bar","qux"]使用迴圈可以使用循環手動獲取數組的所有值並將其新增至一個新

Iterator介面Iterator介面是一個用於遍歷集合的介面。它提供了幾個方法,包括hasNext()、next()和remove()。 hasNext()方法傳回布林值,指示集合中是否還有下一個元素。 next()方法傳回集合中的下一個元素,並將其從集合中刪除。 remove()方法從集合中刪除目前元素。以下程式碼範例示範如何使用Iterator介面來遍歷集合:Listnames=Arrays.asList("John","Mary","Bob");Iterator

用迭代取代Java函數中的遞迴呼叫在Java中,遞歸是一個強大的工具,用來解決各種問題。但是,在某些情況下,使用迭代可能是更好的選擇,因為它更有效且不易出現堆疊溢位。以下是迭代的優點:效率更高,因為它不需要為每個遞歸呼叫建立新的堆疊幀。不容易發生堆疊溢出,因為堆疊空間使用受限。替代遞歸呼叫的迭代方法:Java中有幾種方法可以將遞歸函數轉換為迭代函數。 1.使用棧使用棧是將遞歸函數轉換為迭代函數最簡單的方法。堆疊是一種後入先出(LIFO)資料結構,類似函式呼叫堆疊。 publicintfa

身為PHP開發者,我們經常會遇到需要為網站或應用程式添加點讚功能的需求。本文將介紹如何透過PHP程式設計進階來設計和實作一個多篇文章按讚功能,以及提供具體的程式碼範例。一、功能需求分析在設計多篇文章按讚功能之前,首先需要明確我們的功能需求:使用者可以查看網站上的多篇文章,並對每篇文章進行按讚操作。用戶只能對每篇文章進行一次點贊,當用戶已經點讚過時,不能重複點讚。用
