js-遍歴

2689 ワード

一、対配列の遍歴


1.forサイクル
構文:
var arr =[1,2,3]; for(var i=0; i console.log(arr[i]); } またはfor(let i=0;i console.log(arr[i]);
注意:
 
        
        
        
        
            // {
            //     var btn = document.querySelectorAll('button');
            //     for( var i=0; i< btn.length; i++){
            //         btn[i].onclick = function(){
            //             alert(' ' + i+' ')
            //         }
            //     }
            // }
            //for() ,onclick 

            //  : 

            {
                var btn = document.querySelectorAll('button');
                for( var i=0; i< btn.length; i++){
                    (
                        function(i){
                            btn[i].onclick = function(){
                        alert(' ' + i+' ')
                    }
                        }
                    )(i)
                }
            }

        

es6:
{
                let btn = document.querySelectorAll('button');
                for( let i=0; i< btn.length; i++){
                       btn[i].onclick = function(){
                        alert(' ' + i+' ')
                      }
                }
}
//for( let i=0; i< btn.length; i++) ,{...} 


2.forEach()、map()
Arrayオブジェクトを巡回し、パラメータ一致構文構造:forEach()配列の各要素をリストし、配列の各要素を呼び出し、要素をコールバック関数に渡します.
Array.forEach(function(value, index,array){ ...
},thisValue);
Array.map(function(value, index,array){ ...
},thisValue);

 

var sum = 0; var numbers = [65, 44, 12, 4]; function myFunction(item) { sum += item; demo.innerHTML = sum; }

パラメータindex、array、thisValueはオプションです.
同じ点:forEach()、map()は配列の各要素に遍歴し、各要素は提供された関数を実行/呼び出します.
異なる点:forEach()の戻り値はundefinedです.map()は元の配列を変更しません.戻り値は、各要素が提供する関数を呼び出した結果からなる新しい配列です.

二、オブジェクトの遍歴


1.for-inは任意の順序で1つの現金化変更の列挙可能な属性を遍歴し、異なる属性ごとに文が実行され、反復するたびに属性名が割り当てられる.(反復の順序は実行環境によって決定されるので、この遍歴は必ずしも要素に順次アクセスする必要はありません)構文構造:
for(var i in obj){ console.log(i + ':' + obj[i]); } objオブジェクトを巡る属性、iは属性名を指す
  • for-of反復ごとに属性値が割り当てられます.

  • for-inはobject(現在のオブジェクトとそのプロトタイプ)のすべての列挙可能な属性(属性名)を遍歴します.for-ofはiterationインタフェースを有するデータ構造(属性値)、すなわち現在のオブジェクト上の各属性値を遍歴する
    反復可能なデータ構造:Array、Map、Set、String、Type Array argumentsオブジェクトなど.
    forループとfor-inエネルギー終端ループ(break,continue,return文を使用)、forEachはできません.