2013-10-21 3 views
0

jQuery 문서에 따르면 "모든 jQuery 객체가 생성되지 않았습니다 ==="jQuery 객체 비교

"이"래핑 "동작과 관련된 중요한 세부 정보는 각 래핑 된 개체가 고유하다는 것입니다. 개체가 동일한 선택기로 만들어 졌거나 정확히 동일한 DOM 요소에 대한 참조를 포함하는 경우에도 마찬가지입니다."

documentation

내가 어떻게이 문제를 해결하기 위해 알고 있지만 왜이 사건인가? JavaScript가 동작하는 특정 방법입니까?

답변

4

예. JS의 모든 객체는 o1 === o2이 동일 객체에 대한 포인터 인 경우 o1o2이 참이 아니면 고유하지 않습니다.

{ foo: 1 } === { foo: 1 }; // false 

그래서 jQuery를 단순히이 같은 규칙에 따라 개체 :

var jq3 = jq1; 
jq3 === jq1; // true 
: 당신은 실제로 같은 jQuery를 객체를 가리키는 변수가있을 경우

var jq1 = $('.foo'); 
var jq2 = $('.foo'); 
jq1 === jq2; // false 

유일한 예외는