javascript(2)循環(huán)總結(jié)

//for循環(huán)

? ? ? ? var list=[1,2,3,4,5];

? ? ? ? for(var i=0;i

? ? ? ? ? ? console.log(list[i]);//1,2,3,4,5

? ? ? ? }

//? ? ? ? for----in循環(huán)

? ? ? ? var list2={

? ? ? ? ? ? name:'zyy', weight:52,? height:160

? ? ? ? }

? ? ? ? for(var i in list2){//i變量是list2的屬性

? ? ? ? ? ? if(list2.hasOwnProperty(i)){//為了判斷,只輸出list2的私有屬性

? ? ? ? ? ? ? ? console.log(i,":"+list2[i])

? ? ? ? ? ? ? ? //name:zyy //weight:52//height:160

? ? ? ? ? ? }

}

//? ? jquery的$.each()遍歷(數(shù)組,json對(duì)象)

var arr1 = [ "aaa", "bbb", "ccc" ];

$.each(arr1, function(i,val){

? ? console.log(i,val);

? ? //0,aaa//1,bbb//2,ccc

});

$.each()與$(selector).each()不同,前者可用于遍歷任何的集合(無論是數(shù)組或?qū)ο?, 后者專用于jquery對(duì)象的遍歷

----each處理一維數(shù)組----

var arr1 = [ "aaa", "bbb", "ccc" ];

$.each(arr1, function(i,val){

alert(i);

alert(val);

});

alert(i)將輸出0,1,2

alert(val)將輸出aaa,bbb,ccc

-----each處理二維數(shù)組-----

var arr2 = [['a', 'aa', 'aaa'], ['b', 'bb', 'bbb'], ['c', 'cc', 'ccc']]

$.each(arr, function(i, item){

alert(i);alert(item);

});

arr2為一個(gè)二維數(shù)組,item相當(dāng)于取這二維數(shù)組中的每一個(gè)數(shù)組。

item[0]相對(duì)于取每一個(gè)一維數(shù)組里的第一個(gè)值

alert(i)將輸出為0,1,2,因?yàn)檫@二維數(shù)組含有3個(gè)數(shù)組元素

alert(item)將輸出為 ['a', 'aa', 'aaa'],['b', 'bb', 'bbb'],['c', 'cc', 'ccc']

-----對(duì)此二位數(shù)組的處理稍作變更之后----

var arr = [['a', 'aa', 'aaa'], ['b', 'bb', 'bbb'], ['c', 'cc', 'ccc']]

$.each(arr, function(i, item){

$.each(item,function(j,val){

alert(j);

alert(val);

});

});

alert(j)將輸出為0,1,2,0,1,2,0,1,2

alert(val)將輸出為a,aa,aaa,b,bb,bbb,c,cc,ccc

----each處理json數(shù)據(jù),這個(gè)each就有更厲害了,能循環(huán)每一個(gè)屬性-----

var obj = { one:1, two:2, three:3};

each(obj, function(key, val) {

alert(key);

alert(val);

});

這里alert(key)將輸出one two three

alert(val)將輸出one,1,two,2,three,3

這邊為何key不是數(shù)字而是屬性呢,因?yàn)閖son格式內(nèi)是一組無序的屬性-值,既然無序,又何來數(shù)字呢。

而這個(gè)val等同于obj[key]

-------如果你dom中有一段這樣的代碼---------

然后你使用each如下

$.each($("input:hidden"), function(i,val){

alert(val);

alert(i);

alert(val.name);

alert(val.value);

});

那么,alert(val)將輸出[object HTMLInputElement],因?yàn)樗且粋€(gè)表單元素。

alert(i)將輸出為0,1,2,3

alert(val.name);將輸出aaa,bbb,ccc,ddd,如果用this.name將輸出同樣的結(jié)果

alert(val.value); 將輸出111,222,333,444,如果用this.value將輸出同樣的結(jié)果

-------如果將以上面一段代碼改變成如下的形式-----

$("input:hidden").each(function(i,val){

alert(i);

alert(val.name);

alert(val.value);

});

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容