(function($){~})(window.jQuery);뭐야?주문을 해설하다
8479 단어 JavaScriptjQueryTips무명 함수tech
인생은 어렵고 고생스러우며, 사람은 각양각색의 일이 있다.
jQuery 코드를 본 후, 나는 모든 스크립트가 이런 코드로 덮여 있는 것을 자주 볼 수 있을 것이라고 생각한다.
(function ($) {
//処理
})(window.jQuery);
야, 이 정형문과'주문'을 분리해서 복제해도 당신에게 혜택을 받을 수 있어. 어쨌든 그렇잖아. 내가 설명해 줄게.다음 코드를 먼저 보십시오.자바스크립트를 건드린 사람이라면 누구나 다 아는 코드야.
1.
var calc = function (a, b) {
console.log(a + b);
};
calc(1,2);
하고 있는 일은 다음과 같은 두 가지가 있다.코드는 다음과 같습니다.
2.
(function (a, b) {
console.log(a + b);
})(1, 2);
주문의 격식에 조금 가까워졌다.첫 번째 함수를 둘러싼 괄호는 이전 코드로calc를 대입한 것이다.
첫 번째 괄호로 함수를 정의한 다음 매개 변수 1, 2를 직접 건네줍니다.
즉, 1. 코드와 2. 코드는 거의 같은 뜻이다.(기본적으로 이런 문법을 쓰면 1.의calc는 전역 변수가 된다. 함수 처리에 착안하면 완전히 같다.)
그럼 무술
(function ($) {
//処理
})(window.jQuery);
뭐 하는 거야.달러 변수 정의 함수
window 1을 통해 정의된 함수입니다.매개 변수로 jQuery 실행하기
를 참고하십시오.
이렇게 쓴 장점은 다음과 같다.
1. 정의 함수에 명시된 변수는 외부에 영향을 주지 않는다
javascript의 var 변수는 함수 범위입니다
(function ($) {
var somefunc=function(){
//do something
};
var a=1;
})(window.jQuery);
등을 써도 somefunc와 a는 외부와 충돌하지 않는다.2. 창문을 꼭 열어라.jQuery를 대상으로 이 함수를 실행합니다
prototype.만약 js 등을 사용한다면 전 세계 변수 $US 경쟁이 있을 수 있지만, 이러한 상황은 단순할 뿐이다
만약
$(function () {
$('.app').on('click',function(){
//何らかの処理
});
})
라고 기술된다면, 이 달러가 무엇을 가리키는지, 이 문서만 보면 판단할 수 없다.그렇게 지도 모른다, 아마, 아마...제이스 달러를 썼을 수도 있으니까.
물론 이런 상황에서 이 스크립트는 정상적으로 작동하지 않는다.
그렇지만
(function ($) {
$(function () {
$('.app').on('click',function(){
//何らかの処理
});
})
})(window.jQuery);
라고 쓰여 있다면 윈도우입니다.이 원본에서 볼 때, 이 함수는 jQuery를 대상으로 실행된 것이다.이상, jQuery에서 자주 사용하는 주문을 간단하게 소개합니다.
Reference
이 문제에 관하여((function($){~})(window.jQuery);뭐야?주문을 해설하다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/yukito0616/articles/c4594355ed308e텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)