jQuery 플러그인을 생성하기 위한 기본 형식은 위의 코드
(함수 ($)
{
//여기에 코드 추가
})(jQuery)
어떻게 이해하나요?
1단계: 함수($){}는 하나의 매개변수로 익명 함수를 정의합니다. $는 다른 매개변수 이름과 다르지 않은 매개변수 이름입니다.
2단계: (function ($){})(jQuery)
익명 함수를 실행하려는 경우 일반적으로 var func = function ($) { } 형식을 사용한 다음 func(매개변수)를 사용합니다. . 여기서 func는 Function 객체입니다. 그러나 보다 간결한 함수(function ($) {})는 대괄호를 사용하면 함수 객체이기도 한 대괄호의 내용도 반환합니다. 다시 실행하면 됩니다: (function ($) {})(jQuery)
3단계: 현재 위에서 정의한 익명 함수를 실제로 실행하고 있으며 실행 중에 익명 함수에 매개변수 값을 제공합니다. jQuery .
4단계: 결국 위 표현식은 다음과 같습니다.
var func = function($) { };
func(jQuery)
즉, 익명 함수를 정의하고 매개변수로 jQuery를 한 번 실행합니다.
여기에는 어떤 기능이 있나요?
1. $ 기호 충돌 문제 해결
jQuery에서는 작성을 단순화하기 위해 jQuery 대신 $를 사용합니다. 그러나 $ 기호는 때때로 충돌합니다.
위의 익명 함수 코드에서는 습관적으로 $를 사용하여 작성할 수 있지만 실행 시 변수 충돌을 피하기 위해 대신 jQuery를 사용하게 됩니다.
2. 클로저 문제 해결:
일반적으로 스크립트에 직접 작성된 함수의 경우 소멸되지 않은 변수는 실행 후에도 계속 존재하며 정상적으로 액세스할 수 있습니다. 이는 우리가 항상 이해해 온 함수 전용 변수와 일치하지 않습니다.
그러나 이 방법을 사용하여 이 익명 함수에 필요한 모든 함수를 래핑하면 그 안에 있는 로컬 변수는 외부에서 액세스할 수 없으며 위장에서는 개인 로컬 변수를 생성하는 역할을 합니다. 이 항목으로 시작하는 멤버만 플러그인 외부에서 액세스할 수 있습니다.