jquery에서는 traverse object 및 arrays에서 $().each와 $.each()라는 두 가지 메서드를 자주 사용합니다.
$().each는 DOM 처리에 자주 사용됩니다. 페이지에 확인란 유형의 여러 입력 태그 가 있는 경우 $().each를 사용하여 여러 수표책을 처리합니다. 예:
<br>
<span style="font-family: 宋体;">$(“input[name=’ch’]”).each(<span style="color: #0000ff;">function</span><span style="color: #000000;">(i){</span><span style="color: #0000ff;">if</span>($(<span style="color: #0000ff;">this</span>).attr(‘checked’)==<span style="color: #0000ff;">true</span><span style="color: #000000;">) {</span><span style="color: #008000;">//</span><span style="color: #008000;">一些操作代码</span><span style="color: #000000;">}<br><a href="//m.sbmmt.com/code/8530.html" target="_blank">回调函数</a>是可以传递参数,i就为遍历的索引。<br></span></span>
일반적으로 $.each를 사용하여 배열을 탐색합니다. 처리 예:
<br>
<br>
$.each([{name:"limeng",email:"xfjylimeng"},{name:"hehe",email:"xfjylimeng"}],function(i , n)<br>{<br>alert("인덱스: "+i+" 해당 값: "+n.name);<br>});
매개변수 i는 순회 인덱스 값이고, n은 현재 순회 개체입니다.
<br>var arr1 = [ "one", "two", "three", "four", "five" ];<br>$.each(arr1, function(){<br>alert(this);<br>});<br>输出:one two three four five<br><br>var arr2 = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]<br>$.each(arr2, function(i, item){<br>alert(item[0]);<br>});<br>输出:1 4 7<br><br>var obj = { one:1, two:2, three:3, four:4, five:5 };<br>$.each(obj, function(key, val) {<br>alert(obj[key]);<br>});<br>输出:1 2 3 4 5<br>
사실 jQuery의 Each 메소드는 js의 call 메소드를 통해 구현됩니다.
다음은 통화방법에 대한 간략한 소개입니다. <br>호출 방법이 아주 훌륭합니다. 사실 공식적인 설명은 "객체의 메소드를 호출하고 현재 객체를 다른 객체로 대체한다"입니다. 인터넷에서 더 많은 설명은 컨텍스트 환경을 변경한다는 것입니다. 이 포인터의 컨텍스트를 변경합니다. <br>call([thisObj[,arg1[, arg2[, [,.argN]]]]])
Parameters<br>thisObj<br>선택 사항입니다. 현재 객체로 사용될 객체입니다. <br>arg1, arg2, , argN<br>선택 사항. 일련의 메소드 매개변수가 전달됩니다.
설명<br> 호출 메서드를 사용하면 다른 개체 대신 메서드를 호출할 수 있습니다. call 메소드는 함수의 객체 컨텍스트를 초기 컨텍스트에서 thisObj가 지정한 새 객체로 변경합니다.
인터넷에서 아주 고전적인 예를 인용
Js 코드
<br>
function add(a,b){
alert(a+b);}<br>function sub(a,b){
alert(a-b);}<br>add.call(sub,3,1);
add를 사용하여 하위를 대체하고, add.call(sub,3,1) == add(3,1)이므로 실행 결과는 다음과 같습니다. Alert(4);<br>참고: js의 함수는 실제로 개체이며 함수 이름은 Function 개체에 대한 참조입니다.
다음은 jQuery의 각 메소드의 몇 가지 일반적인 용도입니다.
Js code<br>var arr = [ “one”, “two”, “3”, “four”]; <br>$.each(arr, function(){<br>alert(this);<br>});<br>//위 각각의 출력 결과는 다음과 같습니다: one, two, three, four
var arr1 = [[1, 4, 3], [4, 6, 6], [7, 20, 9]]<br>$.each(arr1, function(i, item){<br>alert(item[0]);<br>});<br>//其实arr1为一个二维数组,item相当于取每一个一维数组,<br>//item[0]相对于取每一个一维数组里的第一个值<br>//所以上面这个each输出分别为:1 4 7
var obj = { one:1, two:2, three:3, four:4};<br>$.each(obj, function(key, val) {<br>alert(obj[key]);<br>});<br>//这个each就有更厉害了,能循环每一个属性<br>//输出结果为:1 2 3 4
jQuery each源码
<br>
each: function( obj, callback ) { var length, i = 0; if ( isArrayLike( obj ) ) { length = obj.length; for ( ; i < length; i++ ) { if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { break; } } } else { for ( i in obj ) { if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { break; } } } return obj; }
위 내용은 순회: jquery $().each 및 $.each()의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!