jquery each()소스 코드
// args is for internal usage only
each: function( object, callback, args ) {
var name, i = 0,
length = object.length,
isObj = length === undefined || jQuery.isFunction(object);
if ( args ) {
if ( isObj ) {
for ( name in object ) {
if ( callback.apply( object[ name ], args ) === false ) {
break;
}
}
} else {
for ( ; i < length; ) {
if ( callback.apply( object[ i++ ], args ) === false ) {
break;
}
}
}
// A special, fast, case for the most common use of each
} else {
if ( isObj ) {
for ( name in object ) {
if ( callback.call( object[ name ], name, object[ name ] ) === false ) {
break;
}
}
} else {
for ( var value = object[0];
i < length && callback.call( value, i, value ) !== false; value = object[++i] ) {}
}
}
return object;
},
분석:jquery 문 서 는 each(callback)역할 은 모든 일치 하 는 요 소 를 문맥 로 하여 함 수 를 수행 하 는 것 이 라 고 말 합 니 다.바로 each 로 배열 을 옮 겨 다 니 며 같은 방법 을 수행 하 는 것 입 니 다.이 방법 을 실현 하 는 가장 관건 적 인 것 은 call 과 apply 의 용법 입 니 다.call(apply)은 함수 의 대상 을 초기 문맥 에서 this Obj 가 가리 키 는 대상 으로 바 꾸 는 것 입 니 다.즉,this Obj 로 원래 의 대상 을 대체 하여 실행 하 는 방법 입 니 다.call 과 apply 의 첫 번 째 매개 변 수 는 this 가 가리 키 는 대상 입 니 다.그리고 뒤의 매개 변 수 는 모두 함수 에 전달 되 고 콜 이 함수 에 전달 하 는 매개 변 수 는 쉼표 로 구분 되 며 apply 는 하나의 배열 입 니 다./1.callback.apply( object[ name ], args ) //2.callback.call( object[ name ], name, object[ name ] )
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
jQuery 전후 예이 기사에서는 jquery after() 및 before() 메소드의 예를 볼 것입니다. before() 메서드는 선택한 요소 앞에 지정된 콘텐츠를 삽입합니다. after() 메서드는 선택한 요소 뒤에 지정된 콘텐츠...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.