js中的for迴圈 效率提公升

2021-08-21 16:06:37 字數 616 閱讀 8149

1、常用寫法:

for(var i=0;iconsole.log(arr[i]);

每次都需要讀取一次arr.length,進行判斷

2、陣列的長度先快取起來

for(var i=0,len=arr.length;iconsole.log(arr[i]);

變數定義完整,不用再從陣列中取回長度,直接讓計算機判斷i與length

3、運用了js中的技巧

for(var i=0,val;val=arr[i++];)

粗看一開始會以為是錯誤的,因為語句沒有完整,不過迴圈會是10次,為什麼?

因為條件句第二句i<10;返回的是true;而在js中0,null,undefined,false和空字串都會是false值

所以,在i變為0的時候自動轉換為布林值false,從而進行迴圈結束終止;

這個理解了那再回頭看上面第三種寫法,i = 0與var同時放在初始條件,val = arr[i++]判斷,

如果arr[i++]大於了arr.length,則val就是未定義,判斷為undefined,判斷終止,迴圈結束;

故,迴圈中可以通過簡寫利用0,null,undefined,false和空字串等進行判斷,巧妙使用了js中的特定技巧。

python效率提公升專題 迴圈

author zhangbo2012 outlook.com 本案例使用三種方法遍歷乙個列表,並生成新列表。方法 說明 a 使用for迴圈遍歷列表中的每乙個元素,並插入到新列表中 b 使用構造列表法建立新列表 c 使用map方法建立新列表 測試 如下 import time oldstr footb...

提公升你的效率

最近發現工作中,老是有些很讓人煩躁的事情,而這些事情你不做就沒有人去做,從而會導致整個專案就會是有你的進度而確定的。先簡單概述下,狀況 我負責整合工作 有兩三個同事負責提供庫,還有乙個專案經理打包和一名測試人員,大家坐的位置比較分散。我這邊的 量不是很多,庫那邊的同事也主要是修改。但他媽的這個工作的...

js 中的變數提公升

我們知道當區域性變數和全域性變數同名時,區域性變數會覆蓋全域性變數。但我們看一段js var scope 全域性變數 functionf f 全域性變數 在全域性範圍 不再函式內 定義的變數 不管是否使用var 不使用var定義的變數都是全域性變數 js中沒有塊範圍指的是 在函式內無論在js中 定義...