첫번째의 경우
$(document).ready(function(){
...
});
-> window.onload = function() {}과 같은 기능
두번째의 경우
$(function(){
..
});
그냥 함수를 실행하라는 의미 입니다.
세번째의 경우
(function($){
})(jQuery);
이경우는 Jquery를 사용할 때, $ 달러의 의미를 jquery에서 사용하겠다는 의미가 내포되어 있습니다.
즉, $를 jquery만 사용하는 것이 아니라 다른 라이브러리에서도 사용할 수 있기 때문이에요.
만약 prototype.js 랑 jquery를 같이 사용하는 경우에는 $가 충돌이 발생하는 것입니다.
그래서 아예..
함수로 $를 매개변수로 해서 넘기는 것입니다.
jQuery 이것이 jquery 객체이지요.
저 함수안에서 $의 의미는 jquery 객체로 사용이 되는 것이에요..
prototype.js 와 jquery로 프로그래밍을 함께 병행하실 때는..
(function($){
...
..
..
이 안에서만 jquery를 자유롭게 사용하게 됩니다.
...
})(jQuery);
출처 : 네이버지식인
[출처] jquery $function 의 사용법? |작성자 몽몽
===================================================================================
내가 이런 문법을 찾았던 이유는 jquery 때문은 아니었고
현대자동차 기업문화홍보 사이트의 소스를 보다가 처음보는 문장을 발견해서 찾기 시작했다..
여기서 나온 스크립트가 이것이었다..
(function (w) {
// version check
var ua = window.navigator.userAgent;
var msie = ua.indexOf("MSIE ");
if (msie > 0 && parseInt(ua.substring(msie + 5, ua.indexOf(".", msie)), 10) < 7) {
location.href = '/pages/common/NoticeIE6.aspx';
}
})(window);
첨엔 이게 뭔가 싶었다...
그러다가 jquery 플러그인 소스에서 이런 비슷한걸 보았던것 같아 책을 보았고
플러그인 파트에서 아래와 같은 문장을 찾게 되었다.
(function($){
//
// 여기에 플러그인을 정의한다
//
})(jQuery);
$라는 매개변수를 정의한 함수에 jQuery를 전달하면 $는 함수안에서 jQuery의 참조임이 보장된다.
- $는 jquery의 별칭이라고 한다.
'왜 이렇게 되었는지는 별로 생각하고 써본적이 없었는데
jQuery를 $ 로 정의한 함수에 전달하기 때문에 $가 jquery의 별칭이 될수 있지 않나...'
라는 생각을 해본다.ㅋ
이를통해 플러그인을 정의할 때 핵심 내용을 작성하는데 $를 사용할 수 있다.
물론 현대차 홍보페이지의 소스랑은 다르지만 이것과 비슷한 의미리라 생각한다.ㅋ
좋은 가르침이었다ㅋ
내가 이해한게 제대로 된건가.. 싶다..ㅋㅋ
'Programming > jQuery' 카테고리의 다른 글
[jquery] 패스워드 에러 표현 innerHtml (0) | 2017.03.27 |
---|---|
[ajax]multipart form 전송 (0) | 2016.10.13 |
JQuery.each() (0) | 2015.07.15 |