728x90
반응형
질문 : 객체가 jQuery 객체인지 확인
객체가 jQuery 객체인지 네이티브 JavaScript 객체인지 확인하는 빠른 방법이 있습니까?
예:
var o = {};
var e = $('#element');
function doStuff(o) {
if (o.selector) {
console.log('object is jQuery');
}
}
doStuff(o);
doStuff(e);
분명히 위의 코드는 작동하지만 안전하지 않습니다. 잠재적으로 선택기 키를 o
객체에 추가하고 동일한 결과를 얻을 수 있습니다. 객체가 실제로 jQuery 객체인지 확인하는 더 좋은 방법이 있습니까?
(typeof obj == 'jquery')
와 일치하는 것
답변
instanceof
연산자를 사용할 수 있습니다.
if (obj instanceof jQuery){
console.log('object is jQuery');
}
설명 : jQuery
함수 (일명 $
)는 생성자 함수 로 구현됩니다. 생성자 함수는 new
접두어로 호출됩니다.
$(foo)
를 호출하면 내부적으로 jQuery는 이것을 new jQuery(foo)
1로 변환 합니다. 자바 스크립트는 초기화 진행 this
의 새로운 인스턴스를 가리 키도록 생성자 함수 내에서 jQuery
에있는 것과 그것의 속성을 설정, jQuery.prototype
(일명 jQuery.fn
). instanceof jQuery
가 true
new
객체를 얻습니다.
1 실제로 new jQuery.prototype.init(foo)
init
라는 다른 생성자 함수로 오프로드되었지만 개념은 동일합니다.
출처 : https://stackoverflow.com/questions/1853223/check-if-object-is-a-jquery-object
728x90
반응형
'프로그래밍 언어 > jQuery, ajax' 카테고리의 다른 글
jQuery 체크박스 변경 및 클릭 이벤트 (0) | 2021.08.30 |
---|---|
jQuery selector 정규식 (0) | 2021.08.30 |
jQuery에서 로딩 스피너를 표시하는 방법 (0) | 2021.08.28 |
jQuery를 사용하여 드롭 다운 목록의 선택한 값 변경 (0) | 2021.08.28 |
jQuery없이 AJAX 호출을 만드는 방법 (0) | 2021.08.28 |