JS中for迴圈如何令變數每次增量不是1?
阿新 • • 發佈:2018-12-09
for迴圈的常見格式是for(var i=0;i<arr.length;i++){……}。對於有些情況下,需要間隔獲取物件,採用加1的迴圈雖然可以通過設定條件來實現,但是直接從for迴圈的變數增量著手也可以一步到位。
for迴圈增量為2的程式碼:
for(var i=0;i<arr.length;i+=2)
{
……
}
例項:對於多個Div元素間隔變色。
<!doctype html> <html> <head> <title>運動</title> <meta charset="utf-8"> <style> .div1{width:100px;height:100px;float:left;background:#ccc;margin:5px;} </style> <script> window.onload=function() { aDiv=document.getElementsByClassName('div1'); for(var i=0;i<aDiv.length;i+=2) { aDiv[i].style.background='red'; } } </script> </head> <body> <div class="div1"></div> <div class="div1"></div> <div class="div1"></div> <div class="div1"></div> <div class="div1"></div> <div class="div1"></div> <div class="div1"></div> <div class="div1"></div> <div class="div1"></div> <div class="div1"></div> <div class="div1"></div> <div class="div1"></div> <div class="div1"></div> <div class="div1"></div> <div class="div1"></div> </body> </html>
問題:
for迴圈中的變數i的作用範圍是多少?
for迴圈中的變數似乎無法作用到函式內部,但是可以作用到if……else語句中?
譬如:
for(var i=0;i<arr.length;i++)
{
arr[i].onclick=function(){……//裡面直接呼叫for迴圈中的i就不行}
if(//裡面可以直接使用for迴圈中定義的變數i)
{//裡面可以直接使用for迴圈中定義的變數i}
}