首頁 web前端 js教程 for迴圈寫法進階

for迴圈寫法進階

Sep 23, 2017 am 10:04 AM
寫法 循環 進階

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中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

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

Java中回呼函數的基本語法與應用 Java中回呼函數的基本語法與應用 Jan 30, 2024 am 08:12 AM

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

MyBatis中小於號的寫法詳解 MyBatis中小於號的寫法詳解 Feb 21, 2024 pm 08:36 PM

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

lambda表達式跳出循環 lambda表達式跳出循環 Feb 20, 2024 am 08:47 AM

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

Go語言中的循環和遞歸的比較研究 Go語言中的循環和遞歸的比較研究 Jun 01, 2023 am 09:23 AM

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

PHP傳回數組所有值,組成一個數組 PHP傳回數組所有值,組成一個數組 Mar 21, 2024 am 09:06 AM

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

Java Iterator 與 Iterable:邁入編寫優雅程式碼的行列 Java Iterator 與 Iterable:邁入編寫優雅程式碼的行列 Feb 19, 2024 pm 02:54 PM

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

Java函數中遞歸呼叫有哪些替代方案? Java函數中遞歸呼叫有哪些替代方案? May 05, 2024 am 10:42 AM

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

PHP程式設計進階:多篇文章按讚功能設計與實現 PHP程式設計進階:多篇文章按讚功能設計與實現 Feb 28, 2024 am 08:03 AM

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

See all articles