이 글에서는 Jquery의 각 메소드를 소개하겠습니다. 도움이 필요한 친구들이 모두 참고할 수 있기를 바랍니다.
추천 튜토리얼: jQuery 튜토리얼
<strong>jQuery.each( object, callback,arg)</strong>
each() 함수는 기본적으로 모든 프레임워크에서 제공하는 도구 함수입니다. 이를 통해 객체와 배열의 속성 값을 탐색하고 수행할 수 있습니다. 다루다.
jQuery와 jQuery 개체 모두 이 메서드를 구현합니다. jQuery 개체의 경우 Each 메서드는 간단하게 위임됩니다. jQuery 개체는 jQuery의 각 메서드에 첫 번째 매개 변수로 전달됩니다. 즉, jQuery에서 제공하는 각 메서드는 매개변수 1에서 제공하는 개체의 모든 하위 요소에 대해 하나씩 메서드를 호출합니다. jQuery 객체가 제공하는 각 메소드는 jQuery 내부의 하위 요소를 하나씩 호출합니다.
jQuery.prototype.each = function(fn, args) { return jQuery.each(this, fn, args); }
jQuery에서 제공하는 Each 메소드의 구체적인 구현을 살펴보겠습니다.
jQuery.each(obj,fn,arg)
이 메소드에는 세 가지 매개변수가 있습니다: 연산할 객체 obj, 연산할 함수 fn, 함수 매개변수 args .
ojb 개체를 기반으로 논의해 보겠습니다.
1. obj 개체는 배열입니다.
각 메서드는 특정 하위 개체를 호출하여 결과가 반환될 때까지 배열의 하위 요소에 대해 fn 함수를 하나씩 호출합니다. -element는 false입니다. 즉, 제공된 fn 함수를 사용하여 이를 처리하고 특정 조건을 충족한 후 각 메서드 호출을 종료할 수 있습니다. 각 메서드가 arg 매개변수를 제공하는 경우 fn 함수 호출에 의해 전달된 매개변수는 arg입니다. 그렇지 않으면 하위 요소 인덱스, 하위 요소 자체입니다
2. obj 개체는 배열이 아닙니다
가장 큰 차이점입니다. 이 메소드와 1 사이에는 fn 메소드가 반환 값에 관계없이 하나씩 수행됩니다. 즉, fn 함수가 false를 반환하더라도 obj 객체의 모든 속성은 fn 메서드에 의해 호출됩니다. 호출에 전달된 매개변수는 1과 유사합니다.
jQuery.each = function(obj, fn, args) { if (args) { if (obj.length == undefined) { for (var i in obj) fn.apply(obj, args); } else { for (var i = 0, ol = obj.length; i < ol; i++) { if (fn.apply(obj, args) === false) break; } } } else { if (obj.length == undefined) { for (var i in obj) fn.call(obj, i, obj); } else { for (var i = 0, ol = obj.length, val = obj[0]; i < ol && fn.call(val, i, val) !== false; val = obj[++i]) { } } } return obj; }
각 메소드에서 fn의 구체적인 호출 메소드는 단순한 fn(i, val) 또는 fn(args)가 아니라 fn.call(val,i,val) 또는 fn 형식이라는 점에 유의해야 합니다. (obj.args)는 fn의 자체 구현에서 이 포인터를 직접 사용하여 배열이나 객체의 하위 요소를 참조할 수 있음을 의미합니다. 이 방법은 대부분의 jQuery에서 사용되는 구현 방법입니다.
var arr = ["one", "two", "three", "four", "five"]; var obj = { one: 1, two: 2, three: 3, four: 4, five: 5 }; jQuery.each(arr, function() { alert(this); }); /* one,two,three,four,five */ jQuery.each(obj, function(i, val) { alert(i+":"+val); }); /* one:1 two:2 three:3 four:4 five:5 */ jQuery.each(arr, function(i, val) { alert(i); }); /* 0,1,2,3,4 */ jQuery.each(arr, function(i, val) { alert(arr[i]); }); /* one tow three four five */
더 많은 프로그래밍 관련 지식을 보려면 프로그래밍 교육을 방문하세요! !
위 내용은 Jquery의 각 메서드에 대한 간략한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!