[JQUERY] 무엇 않는 (기능 ($) {}) (jQuery를); 평균?
JQUERY무엇 않는 (기능 ($) {}) (jQuery를); 평균?
해결법
-
1.우선, 외관이 좋아하는 코드 블록 (함수 () {}) () 대신에 실행되는 단순한 함수이다. 의 조금 아래로 그것을 깰 수 있습니다.
우선, 외관이 좋아하는 코드 블록 (함수 () {}) () 대신에 실행되는 단순한 함수이다. 의 조금 아래로 그것을 깰 수 있습니다.
1. ( 2. function(){} 3. ) 4. ()
2 호선은 어쩌면 도움이 될 것입니다 다음 단계를 통해 읽기, 함수가 라인 4를 사용하여 실행 반환 된 후에는 괄호에 싸여 일반 기능, 부모 범위에 함수를 반환하는 런타임을 알리는 것입니다
1. function(){ .. } 2. (1) 3. 2()
당신은이 함수를 반환 3 단지 기능을 실행, 1 선언이라고 볼 수 있습니다.
그것이 사용되는 방법의 예.
(function(doc){ doc.location = '/'; })(document);//This is passed into the function above
플러그인에 대한 다른 질문에 관해서는 :
(1) 입력 : 이것은 실제로 플러그인 아니라, 플러그인 기능 경향으로는, 함수로 전달 된 객체입니다.
2 입력 :는 $ .fn 객체를 확장하지 않는 한이 다시 플러그인이 아닙니다. 결과는 동일하지만 그것은, JQuery와 코어의 단지 확장 파일입니다. 당신이 toArray 등등과 같은 이송 기능을 추가하려는 경우입니다.
3 입력 :이 플러그인을 추가하는 가장 좋은 방법입니다, jQuery를의 확장 프로토 타입 플러그인의 이름과 기능을 보유하는 오브젝트를하고 당신을 위해 플러그인 라이브러리에 추가합니다.
-
2.가장 기본적인 수준에서, 형태의 무언가 (함수 () {...}) ()는 즉시 실행되는 함수 리터럴입니다. 이것이 의미하는 것은 당신이 함수를 정의하고 즉시 호출하는 것입니다.
가장 기본적인 수준에서, 형태의 무언가 (함수 () {...}) ()는 즉시 실행되는 함수 리터럴입니다. 이것이 의미하는 것은 당신이 함수를 정의하고 즉시 호출하는 것입니다.
이 양식은 해당 함수 내에서 정의 아무것도 이후 정보 은닉과 캡슐화하는 데 유용합니다 (당신이 특별히 노출하지 않는 - 일반적으로 반환 된 객체 리터럴을 통해) 외부에서 해당 기능에 로컬 및 액세스 남아있다.
당신이 jQuery를 플러그인에 (또는 일반적으로이 모듈 패턴에) 무엇을보고이 기본적인 형태의 변형이다. 그 후:
(function($) { ... })(jQuery);
어떤 사용자가 실제의 jQuery 객체에 대한 참조를 전달하고 있지만이 기능 문자의 범위 내에서 $로 알려진 것을 의미한다.
1 형은 정말 플러그인이 아닙니다. 당신은 단순히 jQuery.fn에 객체 리터럴을 할당하고 있습니다. 플러그인은 대개 기능이기 때문에 일반적으로 당신은 jQuery.fn에 기능을 할당 할 수 있습니다.
유형 2는 유형 1과 유사하다; 당신은 정말 여기에 플러그인을 만들 수 없습니다. 당신은 단순히 jQuery.fn에 객체 리터럴을 추가하고 있습니다.
유형 3은 플러그인이지만, 하나를 만드는 가장 좋은 또는 쉬운 방법이 아니다.
더 이것에 대해 이해하려면이 비슷한 질문과 대답을 살펴. 또한,이 페이지는 플러그인을 제작에 대한 몇 가지 세부 사항으로 간다.
-
3.작은 도움:
작은 도움:
// 익명 함수 (함수 () {CONSOLE.LOG ( '알로')}); // 자기가 익명 함수를 호출 (함수 () {CONSOLE.LOG ( '알로')}) (); // 자기가 "$"라는 매개 변수를 사용하여 익명 함수를 호출 VAR jQuery를이 = '나는 \'jQuery를 모르겠어요. '; (함수 ($) {CONSOLE.LOG ($)}) (jQuery를);
-
4.이 구조 (함수 () {}) (); 인생 (즉시 호출 기능 식)라고, 인터프리터가이 선에 도달 할 때, 즉시 실행됩니다. 당신이 이러한 행을 작성할 때 그래서 :
이 구조 (함수 () {}) (); 인생 (즉시 호출 기능 식)라고, 인터프리터가이 선에 도달 할 때, 즉시 실행됩니다. 당신이 이러한 행을 작성할 때 그래서 :
(function($) { // do something })(jQuery);
이 수단은, 통역자가 바로이 함수를 호출하고, $로서의 기능 안에 사용되는 매개 변수로 jQuery를 전달할 것이다.
-
5.사실,이 예제는 않습니다 (기능 ($) {}) (jQuery를) 이해하는 나에게 도움이; 평균. 이걸 고려하세요:
사실,이 예제는 않습니다 (기능 ($) {}) (jQuery를) 이해하는 나에게 도움이; 평균. 이걸 고려하세요:
// Clousure declaration (aka anonymous function) var f = function(x) { return x*x; }; // And use of it console.log( f(2) ); // Gives: 4 // An inline version (immediately invoked) console.log( (function(x) { return x*x; })(2) ); // Gives: 4
그리고 지금이 고려 :
우리는 우리의 예를 다시 한번 걸릴 수 있음을 알고 :
var $f = function($) { return $*$; }; var jQuery = 2; console.log( $f(jQuery) ); // Gives: 4 // An inline version (immediately invoked) console.log( (function($) { return $*$; })(jQuery) ); // Gives: 4
-
6.다음과 같이해야 작동하려면 3을 입력 :
다음과 같이해야 작동하려면 3을 입력 :
(function($){ //Attach this new method to jQuery $.fn.extend({ //This is where you write your plugin's name 'pluginname': function(_options) { // Put defaults inline, no need for another variable... var options = $.extend({ 'defaults': "go here..." }, _options); //Iterate over the current set of matched elements return this.each(function() { //code to be inserted here }); } }); })(jQuery);
나는 누군가가 단지 바로 jQuery를 프로토 타입의 속성을 설정 이상 연장 사용하는 것이 왜 확실하지 오전, 그것은 단지 더 많은 작업을 더 혼란에 똑같은 일을하고있다.
from https://stackoverflow.com/questions/2937227/what-does-function-jquery-mean by cc-by-sa and MIT license
'JQUERY' 카테고리의 다른 글
[JQUERY] 자바 스크립트 CONSOLE.LOG는 오류가 발생합니다 : "동기 XMLHttpRequest를 메인 스레드에서 사용되지 않습니다 ..." (0) | 2020.10.02 |
---|---|
[JQUERY] 각 루프의 jQuery 탈출하는 방법 (0) | 2020.10.02 |
[JQUERY] 변수의 jQuery 셀렉터 (0) | 2020.10.02 |
[JQUERY] 문제 jQuery를 $ .Deferred에 내재 (jQuery를 1.x에서 / 2.x에서) (0) | 2020.10.02 |
[JQUERY] 네임 스페이스와 XML 파싱을 위해 jQuery를 사용하는 방법 (0) | 2020.10.02 |