(function($) {…})(jQuery);

1.
function(arg){...}
이것은 익명 함수를 정의했고 매개 변수는arg이다.
함수를 호출할 때 함수 뒤에 괄호와 실참을 쓴다!!
연산자의 우선 순위 때문에 함수 자체에도 괄호가 필요합니다. 즉,
(function(arg){...})(param)
이것은 매개 변수가arg인 익명 함수를 정의하는 것과 같다.
이 익명 함수를 매개 변수로 호출합니다.
반면(function($)(jQuery)는 같고,
인삼에서만 $를 사용하는 이유는 다른 라이브러리와 충돌하지 않기 위해서입니다.
그러니까 실참용 jQuery.
《 = = 과 같다 》.
var fn = function($){...}
fn(jQuery);
2.
jQuery(function(){
...
});
모두
jQuery(document).ready(function(){
...
});
$(function(){
...
});
모두 쓰기:
$(cocument).ready(function(){
...
});
3.
jQuery(function(){
...
});
작업 DOM 객체를 저장하는 데 사용되는 코드입니다.
이 코드를 실행할 때 DOM 객체가 이미 존재합니다.
개발 플러그인을 저장하는 데 사용할 수 없는 코드,
jQuery 대상이 전달되지 않았기 때문에,
외부는 jQuery를 통과합니다.method도 그 중의 방법 (함수) 을 호출할 수 없습니다.
(function(){
...
})(jQuery);
개발 플러그인을 저장하는 코드,
코드를 실행할 때 DOM이 반드시 존재하는 것은 아닙니다.
따라서 DOM 작업을 직접 자동으로 수행하는 코드는 주의해서 사용하십시오.
[이렇게 하면 내부 변수와 외부 변수가 충돌하지 않도록 합니다. 예를 들어 $jQuery 등 jquery 내부에서 정의한 변수입니다.]
[(function($) {})(jQuery) 이 쓰기의 주요 역할은 jquery가 다른 라이브러리나 변수와 충돌하지 않도록 하는 것이다. 우선 jQuery라는 변수 이름이 외부와 충돌하지 않도록 해야 한다(jquery 내부 $와 jQuery가 같은 물건에 두 개의 이름이 있는 이유는 $와 다른 변수 이름이 충돌할까 봐 두 번째 jQuery가 다른 변수와 충돌할 확률이 매우 적기 때문이다)익명의 대상을 전송합니다. 익명의 대상은 매개 변수에 $(사실은 jquery 내부와 같습니다) 라고 이름을 붙이면 외부 변수와 충돌하지 않고 자유롭게 (function ($) {} (jQuery) 플러그인을 쓸 수 있습니다.
HTML>


	
	
	<script/>
	<script>
		(function($){
			console.log("---- begin------");
		
			/**
				    1
			*/
			$.methodOne = function(p){
				if(p == 1) {
					console.log("OK");
				} else {
					console.log("NO");
				}
				
				var result = addP(p);
				console.log(result);
				
				//      
				function addP(p) {
					return p + "--- result ---";
				}
			}
			
			
			/**
				    2
			*/
			$.tempMethod = {
				// 
				add:function(a,b){
					return a + b;
				},
				// 
				reduce:function(a,b) {
					return a - b;
				},
				// 
				multiply:function(a,b) {
					return a * b;
				},
				
				//   
				three:{
					// 
					add:function(a,b,c){
						return a + b + c;
					},
					// 
					reduce:function(a,b,c) {
						return a - b - c;
					},
					// 
					multiply:function(a,b,c) {
						return a * b * c;
					}
				}	
			};

		
		})(jQuery);
		
		$(document).ready(function(){
			
			//      1
			$.methodOne(1);
			//$.methodOne(3);
			
			
			//      2
			var a = 8;
			var b = 4;
			var c = 2;
			
			var result1 = $.tempMethod.add(a,b);
			var result2 = $.tempMethod.reduce(a,b);
			var result3 = $.tempMethod.multiply(a,b);
			
			var result4 = $.tempMethod.three.add(a,b,c);
			var result5 = $.tempMethod.three.reduce(a,b,c);
			var result6 = $.tempMethod.three.multiply(a,b,c);
			
			
			console.log("result1 : " + result1);
			console.log("result2 : " + result2);
			console.log("result3 : " + result3);			
			
			console.log("result4 : " + result4);
			console.log("result5 : " + result5);
			console.log("result6 : " + result6);

		});
	</script>


	

</code></pre> 
  <p><br/></p> 
 </div> 
</div>
                            </div>
                        </div>

좋은 웹페이지 즐겨찾기