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 ) 메소드는 편의 메소드와 많은 콘솔에서 사용할 수 있습니다.
- Chrome DevTools '/ WebKit Inspector의 cmd 라인 API 소스
- Firebug의 cmd 라인 API 소스
Opera Dragonfly의 cmd 라인 API 소스
copy()
내가 가장 좋아하는 것 중 하나입니다. 파워 유저를위한 이 자바 펼쳐보기 콘솔 비디오 에서 이에 대해 다룹니다 .
'ProgramingTip' 카테고리의 다른 글
Bash 또는 KornShell (ksh)? (0) | 2020.12.02 |
---|---|
Objective-C- 애니메이션 후 변경 사항을 적용하는 CABasicAnimation? (0) | 2020.12.02 |
1D 또는 2D 어레이, 무엇이 더 빠릅니까? (0) | 2020.12.02 |
WPF 버튼의 여러 줄 텍스트 (0) | 2020.12.02 |
iPhone을 입력하는 동안 UITextField의 텍스트를 얻는 방법은 무엇입니까? (0) | 2020.12.02 |