2013-01-21 1 views
0

다음과 같이 jQuery 코드 블록이 있습니다.인수와 매개 변수 사이의 jQuery 차이

(function($){ 
    //Normal code goes here 
})(jQuery); 

지금 나는이 자동 실행 기능이있는 경우

  1. 을 이해하고 싶어? 그렇다면 왜?
  2. 함수에 전달 된 "$"와 마지막에 지정된 "jQuery"의 차이점은 무엇입니까? 그 중 하나가 인수이고 다른 하나는 매개 변수입니까?
  3. 끝 부분에 "jQuery"를 지정해야합니까?

감사합니다.

답변

1

예, 자체 실행 중입니다. 내부 부분은 "함수 표현식"이고 (필요한) 매개 변수 (jQuery)은 즉시 호출하게합니다. 따라서 "즉시 호출 된 함수 표현식"이라는 용어를 사용합니다.

변수 $은 함수의 범위가 로컬입니다. jQuery 플러그인은 종종 이런 식으로 작성되기 때문에 (글로벌) $ 변수가 다른 항목에 의해 사용 중이기 때문에 jQuery가 "충돌 안 함"모드로되어 있어도 공통적 인 $ 약어가 내부적으로 사용될 수 있습니다.

공식적으로 선언의 변수를 "매개 변수", 호출하는 변수를 "인수"라고합니다. 제 생각에는 JS에서 모호성이 발생하는 이유는 의사 배열 arguments을 사용하여 제공된 매개 변수에 액세스 할 수 있기 때문입니다.

3

자가 실행 기능인 경우? 그렇다면 왜?

예 아니오. Immediately-Invoked Function Expression이지만 일반적으로 재귀라는 개념과 관련이 있지만 일부 사람들은 이러한 "자체 실행"이라고 부르는 경향이 있습니다.

함수에 전달 된 "$"와 끝에 지정된 "jQuery"의 차이점은 무엇입니까? 그 중 하나가 인수이고 다른 하나는 매개 변수입니까?

정확히.

끝 부분에 "jQuery"를 지정해야합니까?

그렇지 않은 경우 $ 매개 변수가 채워지는 위치는 어디입니까?

이 왜 즉시-호출 기능 표현을 사용


난 당신이 놓친해야 할 것 같다 질문이 하나 더 추가 할 것입니다? 안전하게 jQuery를이 noConflict 모드 여부에있는 독립적 $를 사용할 수 있도록

그것은 단순히 jQuery 인생 범위 내 $에 별칭.플러그인을 개발하고 WP로 작업 할 때 매우 유용합니다.

+0

"그렇지 않으면 어디에서 $ 인수를 채울지? *". '$'와'jquery'의 차이점은 인수와 매개 변수 사이의 차이라는 점에 동의하지만, 저는'$'를 매개 변수로,'jquery'를 인수로 사용합니다. – Bruno

+0

@ 브루노 내 잘못이야, 방금 일어 났어. 맞습니다.'jQuery'는 함수를 형식적인 매개 변수로 입력합니다. –

0

1) 자동 실행하고 마지막에 괄호를 가지고 있기 때문에

당신은 말할 수 즉시-실행. (function() {})();은 그래서 화재로 당신은 그것을 작성한

myFunc(); 

:

function myFunc() {} 

또는

var myFunc = function() {}; 

그리고 당신은 같은 함수를 호출

같은 :

는이 같은 함수를 작성 끝까지 치자 마자.

2) 매개 변수는 함수가 예상하는 것입니다. 인수는 함수를 제공합니다.

var number_arg = 35, 
    string_arg = "Bob"; 

function myFunc (number_param, string_param) { 
    console.log(number_param, string_param); 
} 

myFunc(number_arg, string_arg); // 35 "Bob"; 

params를 인수 다르게 지명 될 수 있다는 사실 즉, 다른 기능의 내부 할 수 있습니다 "별명"값.

function myFunc ($) { console.log($); } 

myFunc("SUPERLONGSTRINGOFDOOMISWHATI'MPUTTINGINHERE"); 

myFunc(MYAPP.Module.sub_module.plug_in); 

한편, 함수 내에서,이 모든 것들이 단지 $를 사용하여 작업 할 수 있습니다.

3) "별명 지정"은 jQuery$의 차이입니다.