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 |