jquery의 프레임워크 해석 (1)
1532 단어 JavaScriptjquery프레임
여기에서 나는 전체에서 세부적인 설명 방식을 채택한다.
먼저 jquery의 전체 프레임워크를 보십시오:
소스 코드:
(function (){
//jquery
})();
첫 번째 괄호 안은 익명 함수이고, 두 번째 괄호는 첫 번째 괄호 안의 코드를 즉시 실행하는 것을 의미한다.
주의: 첫 번째 괄호 다음에 두 번째 괄호를 따라야만 첫 번째 괄호 안의 익명 함수 코드를 실행할 수 있습니다.다시 말하면 이 두 괄호는 하나의 전체이다. 전부 원하든지 아니면 전부 원하지 않든지.첫 번째 괄호를 없애면 익명 함수를 실행하지 못할 뿐만 아니라 js의 오류도 보고할 수 있습니다.
첫 번째 괄호 안의 익명 함수는 페이지를 불러올 때 실행됩니다.
jquery라는 성숙한 js 프레임워크는 반드시 명칭 충돌 문제를 고려할 것이다. 그러면 jquery는 어떤 방식으로 명칭의 충돌을 피합니까?
js에는 명명 공간의 개념이 없다.그러나 우리는 다른 변통적인 방식으로 우리의 목적인 명칭 충돌을 피할 수 있다.바로 여기서 사용하는 방식이다. 모든javascript 함수, 대상은 코드에 적힌 익명 함수에 정의되어 정의된 함수, 대상의 역할 영역이 이 익명 함수에만 한정되어 명명 공간의 역할을 한다.
지식점: var 변수 이름 방식으로 정의된 js 변수는 국부 변수이고 var이 없는 변수는 전역 변수이며 그는 window의 속성으로 나타난다.js에서는 전역 변수 사용을 꺼리기 때문에 모두들 var 변수 이름으로 변수를 정의합니다.
jquery의 변수의 작용역이 이 익명 함수 안에 있는 이상 우리는 어떻게 이 익명 함수 밖에서 사용합니까?jquery에 이런 말이 있는데 다들 눈치채셨는지 모르겠어요.
var jQuery = window.jQuery = function(selector, context)
{//……
};
여기에 jquery 프레임워크의 가장 중요한 대상인 jQuery를 window의 속성으로 표시하면 다른 곳에서 마음대로 사용할 수 있습니다.
내가 사용하는 건 다 $이야. jQuery가 아니잖아.사실 jquery에서 $=jQuery를 정의했습니다. 즉, 그들은 같은 이름의 대상입니다.
문서처럼 마음대로 사용하세요.
(function (){
var window = this;
})();
이렇게 하면 윈도 대상을 얻을 수 있으며, 이 익명 함수에서 윈도를 마음대로 사용할 수 있으며, 이 변수는 js의 윈도 대상과 같다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
기초 정리 - 1문자 (String) 숫자 (Number) 불린 (Boolean) null undefined 심볼 (Symbol) 큰정수 (BigInt) 따옴표로 묶어 있어야 함 Not-A-Number - 숫자 데이터 / 숫자로 표...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.