ProgramingTip

Chrome / Firefox의 이중 달러 기호 선택기 쿼리 기능의 소스는 무엇입니까?

bestdevel 2020. 12. 2. 21:42
반응형

Chrome / Firefox의 이중 달러 기호 선택기 쿼리 기능의 소스는 무엇입니까?


이 jsfiddle을 확인 하고 콘솔을 사용합니다. $$정의되지 않았습니다. 이제 완전히 새로운 창을 $$콘솔로 들어 갑니다. 선택자와 일치하는 모든 dom 요소의 (jquery와 일치하는) 배열을 가져 오는 함수를 정의합니다.

> $$

bound: function () {
  return document.querySelectorAll.apply(document, arguments)
}

개발 도구에 의해 추가되고 있습니까? Firefox에서 Firebug를 사용할 때도 존재합니다. 도구 자체에서 내부적으로 사용됩니까?


글쎄, Firebug Lite 는 다음과 같이 정의합니다.

this.$$=function(selector,doc){if(doc||!FBL.Firebug.chrome){return FBL.Firebug.Selector(selector,doc)

( 출처 참조 )

Firebug의 정식 버전 관리자 다음과 같이 정의 합니다.

this.$$ = function(selector)
{
    return FBL.getElementsBySelector(baseWindow.document, selector);
};

이것은 실제로 문서화되어 인증 됩니다.

그래서 저는 구글 크롬이 많은 일을하고 가정합니다.


첫째, ziesemer의 대답의 모든 것이됩니다.

이것은 JavaScript 역사에 관한 모든 것입니다.

다양한 브라우저의 devtools 콘솔에서 사용할 수있는 여러 기능이 있습니다. 총체적 으로이 메서드는 명령 줄 API (오프라인) ( 새 링크 )라고하며 모두 Firebug에서 비롯됩니다. 요즘에는 Firebug가 일을 (대부분) 거기에서 브라우저간에 패리티가 있습니다.

그러나 Firebug가 만들어 졌을 때 (2006), 모든 분노를 불러 일으킨 JavaScript 라이브러리는 Prototype.js였습니다. 당시 요소와 그 추론 일반적인 요소 획득 기술을 잡는 추론 빠른 방법 이었기 때문에 $일부 getElementById()구문 설탕을 위해 프로토 타입 의해 잡혔에 습니다. time-을 절약 그것은 해 주었고 사람들 은 $ 설탕 위해 전체 라이브러리를를 사용 했습니다

.

2006 년 초에 jQuery가 데뷔 $()하여 CSS 선택기를 기반으로 모든 요소를 ​​선택하는 데 사용 됩니다. 이전 CSS 선택기 엔진 타임 라인에서 알 수 게시물 있듯이 프로토 타입은 4 후 일 자체 작업을 수행했지만 $이미 라이브러리에서 가져온 것처럼 방금 블링 블링 기능 현관$$() 으로 알려진으로 이동 했습니다 .

그래서 Firebug는 2006 년에도 여전히 보금 자리를 지배하고 있었기 때문에 프로토 타입의 API를 활용하고 있습니다. 이제 jQuery와 jQuery 이후의 앨리어싱 시대에는 window.$ = document.querySelectorAll.bind(document). 흥미롭게도 오페라가 브라우저 개발 도구 인 잠자리 혁신했을 때를 그들은 현재의 관행에 더 잘 부합하기 $위해 querySelectorAll별칭으로 선택했습니다 . 이것은 IMO가 좀 더 의미가 있습니다.

.. 코드 소스 를 의미 하는군요 ..

이제 $$DevTools 의 "소스"에 대해 질문 하고 역사를 설명했습니다. 이런! 콘솔에서 사용할 수있는 이유에 대해 ... 모든 명령 줄 API (오프라인) ( new link ) 메소드는 편의 메소드와 많은 콘솔에서 사용할 수 있습니다.

copy()내가 가장 좋아하는 것 중 하나입니다. 파워 유저를위한자바 펼쳐보기 콘솔 비디오 에서 이에 대해 다룹니다 .

참고 URL : https://stackoverflow.com/questions/8981211/what-is-the-source-of-the-double-dollar-sign-selector-query-function-in-chrome-f

반응형