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