복붙노트

[JQUERY] "이"jQuery를 무엇을 의미합니까? [복제]

JQUERY

"이"jQuery를 무엇을 의미합니까? [복제]

해결법


  1. 1.자바 스크립트에서이 매우 특별하고 강력하다. 그냥 아무것도 의미 할 수 있습니다. 여기와 여기의 일부를 포함하지만, 자바 스크립트 좋은 튜토리얼을 발견하고 함께 시간을 보내고 정말 가치가있다.

    자바 스크립트에서이 매우 특별하고 강력하다. 그냥 아무것도 의미 할 수 있습니다. 여기와 여기의 일부를 포함하지만, 자바 스크립트 좋은 튜토리얼을 발견하고 함께 시간을 보내고 정말 가치가있다.

    처음의 jQuery의 사용에서 살펴 보자는 다음 자바 스크립트 (조금) 더 일반적으로 얘기.

    jQuery를 작성 코드에서이 보통 (이벤트 콜백에, 예를 들어) 함수의 대상이 호출되고있는 DOM 요소를 의미합니다.

    예 jQuery를 이벤트 콜백 (이는 .bind 문서에 포함되어 있는지) :

    $("div").click(function() {
        // Here, `this` will be the DOM element for the div that was clicked,
        // so you could (for instance) set its foreground color:
        this.style.color = "red";
    
        // You'll frequently see $(this) used to wrap a jQuery object around the
        // element, because jQuery makes lots of things a lot simpler. You might
        // hide the element, for example:
        $(this).hide();
    });
    

    마찬가지로, 현재의 jQuery 셀렉터와 일치하는 모든 요소에 작용하는 다양한 jQuery를 기능을 선택적으로 기능을 수용 할 수 있으며, 그 함수가 호출 될 때이 다시 문제의 DOM 요소입니다 - 예를 들어, HTML 기능이 있습니다 :

    // Find all divs inside the `foo` element, and set
    // their content to their CSS class name(s)
    // (Okay, so it's a hokey example)
    $("#foo div").html(function() {
        return this.className;
    });
    

    jQuery를이를 사용하는 또 다른 장소는 jQuery.each에 콜백에 있습니다 :

    var a = ["one", "two", "three"];
    jQuery.each(a, function() {
        alert(this);
    });
    

    ... "한"후 "이"다음 "세"경고 것이다. 당신이 볼 수 있듯이, 이것은 이것의 완전히 다른 사용합니다.

    (혼동 JQuery와 두 각 호출 함수 JQuery와에있는 위와 / $ 함수 자체 항상 호출하는 방법 [jQuery.each (...) 또는 $ .each (...), 및 다른을 갖는다 jQuery를 인스턴스 하나가 [오브젝트]. 여기가 아닌 jQuery를 / $ 기능 iself가이 같은 방식으로 HTML과 이벤트가 할 콜백을 사용하기 때문에 나는이 대답에 다른 하나를 논의하지 않는, 다른 하나의 문서이며, 내가 jQuery를하여이 다른 사용을 보여주고 싶었어요.)

    이 목적을 말한다. 업데이트 : 더 이상 사실 ES5의 엄격한 모드로,이 값을 가질 수 있습니다. 특정 함수 호출 내에서,이 값은 함수 (기능이 C # 또는 자바 등의 언어로 정의되어 있지 임)라고하는 방법에 의해 결정된다. 함수를 호출 할 때이를 설정하는 가장 일반적인 방법은 객체의 속성을 통해 함수를 호출하는 것입니다 :

    var obj = {};
    obj.foo = function() {
        alert(this.firstName);
    };
    obj.firstName = "Fred";
    obj.foo(); // alerts "Fred"
    

    우리가 OBJ의 속성을 통해 foo를 호출하기 때문에이,이는 통화 시간에 대한 obj에 설정되었다. 그러나 푸 OBJ 결혼 어떤 식 으로든 있다는 인상을하지 않는다, 이것은 잘 작동합니다 :

    var obj = {};
    obj.foo = function() {
        alert(this.firstName);
    };
    obj.firstName = "Fred";
    obj.foo(); // alerts "Fred"
    
    var differentObj = {};
    differentObj.firstName = "Barney";
    differentObj.bar = obj.foo; // Not *calling* it, just getting a reference to it
    differentObj.bar(); // alerts "Barney"
    

    사실, foo는이 본질적으로 전혀 객체에 연결되지 않은 :

    var f = obj.foo; // Not *calling* it, just getting a reference to it
    f(); // Probably alerts "undefined"
    

    우리는 객체 속성을 통해 F를 호출하지 않았기 때문에,이 명시 적으로이 설정되지 않았습니다. 이 명시 적으로 설정되지 않은 경우, 전역 객체에 대한 디폴트 (어떤이 브라우저 창입니다). 창은 아마 속성 인 firstName을 가지고, 우리는 우리의 경고에 "정의되지 않은"있어 그렇게하지 않습니다.

    함수의 .call 및 .apply 기능을 사용하여이 무엇인지 기능 세트를 호출하는 다른 방법이 있습니다 :

    function foo(arg1, arg2) {
        alert(this.firstName);
        alert(arg1);
        alert(arg2);
    }
    
    var obj = {firstName: "Wilma"};
    foo.call(obj, 42, 27); // alerts "Wilma", "42", and "27"
    

    전화는 당신이 부르고 기능에주는 다른 인자를 따라 통과 후 당신이 그것을 줄 첫 번째 인수로이 설정합니다.

    적용 정확히 같은 일을하지만, 대신 각각의 배열로 그것을 함수에 대한 인수를 제공 :

    var obj = {firstName: "Wilma"};
    var a   = [42, 27];
    foo.apply(obj, a); // alerts "Wilma", "42", and "27"
    //             ^-- Note this is one argument, an array of arguments for `foo`
    

    다시,하지만, 자바 스크립트에서 이것에 대해 탐구하는 많은있다. 당신은 몇 가지 다른 언어가 어떻게 사용하는 경우 (그리고 당신이 어떤 다른 사람에게 익숙하지 않은 경우), 그리고 가치가 알고있는 개념은 조금의 거짓 강력하다.

    여기 ES5의 엄격 모드에서 개체를 참조하지이의 몇 가지 예입니다 :

    (function() {
        "use strict";   // Strict mode
    
        test("direct");
        test.call(5, "with 5");
        test.call(true, "with true");
        test.call("hi", "with 'hi'");
    
        function test(msg) {
            console.log("[Strict] " + msg + "; typeof this = " + typeof this);
        }
    })();
    

    산출:

    [Strict] direct; typeof this = undefined
    [Strict] with 5; typeof this = number
    [Strict] with true; typeof this = boolean
    [Strict] with 'hi'; typeof this = string

    느슨한 모드 반면, 그 모든이 = 객체 대해서 typeof 말한 것이다 라이브 사본.


  2. 2.this 키워드

    this 키워드

    함수에 사용될 때,이 값은, 오브젝트에 사용이 function.The의 값은, 오브젝트 자체는 "소유"하는 것을 목적으로한다. 객체 생성자에서 this 키워드는 값이 없습니다. 이 생성자는 객체를 생성하는 데 사용되는 경우이의 새로운 object.The 값이 새 개체가됩니다 만 대체합니다.

    이 변수가 아닙니다. 이 키워드입니다. 이 값을 변경할 수 없습니다.


  3. 3.여기에 내가 단순히 그것을 설명 할 방법입니다

    여기에 내가 단순히 그것을 설명 할 방법입니다

    이 함수를 호출 객체를 의미한다.

    그래서이보고 :

    var foo = {
      name: "foo",
      log: function(){
        console.log(this.name);
      }
    }
    
    var bar = {
      name: "bar"
    }
    bar.log = foo.log;
    bar.log();
    

    바 객체 자체에 대한 그것의 자신의 로그 속성에 foo는의 로그 방식의 참조를 저장합니다. 바가 로그 메소드를 호출 때 지금,이 방법은 바 객체에 의해 부름 때문에 바 가리 킵니다.

    이것은 다른 개체, 심지어 윈도우 객체에 적용됩니다. 전역 범위를 통해 함수를 호출하는 경우,이 창 객체를 가리 킵니다.

    함수의 결합 또는 호출 방법을 사용하여 명시 적으로 객체가이 실행 중을 참조 무슨 정의 할 수 있습니다.

    재미있는 사실 : 상부층 / 레벨 전역에 아무것도 정의는 윈도우 오브젝트의 속성 (전역 = 윈도우 오브젝트)가된다.


  4. 4.에 대한 Google 최고 결과가 "자바 스크립트이"http://www.quirksmode.org/js/this.html

    에 대한 Google 최고 결과가 "자바 스크립트이"http://www.quirksmode.org/js/this.html

    편집 : 나는 키 문장이 생각 :

    "에서 자바 스크립트는"이 소유자 "항상을 의미한다" "우리가 기능하는 방법이라는 객체가 아니라 실행 또는있는 기능."

    쿼크 모드는 (일반적으로 *) 우수한 가치 자세히 전체 기사를 읽고 있습니다.

    * 분명히이 사항이 반드시 정확하지 않은 참조 T.J. 아래 크라우의 코멘트.


  5. 5.이 방법은 실제로 자바 스크립트에서 사용되는 경우이 자리 표시 자 역할을하고 참조 할 키워드는 방법 것이라는 객체에 대한 중

    이 방법은 실제로 자바 스크립트에서 사용되는 경우이 자리 표시 자 역할을하고 참조 할 키워드는 방법 것이라는 객체에 대한 중


  6. 6.정기적 인 기능은 이러한 기능과 호출 기능이 키워드로 주먹 매개 변수 및 함수 핸들을 같은 함수에 전달되는 것과 같은 객체를 정의하는 클래스에 속하는;

    정기적 인 기능은 이러한 기능과 호출 기능이 키워드로 주먹 매개 변수 및 함수 핸들을 같은 함수에 전달되는 것과 같은 객체를 정의하는 클래스에 속하는;

    객체는 클래스 생성 때만 특성 집합을 포함하며 개체의 어떠한 기능도 없다. 그리고 함수는 클래스에 속한다. 그러나, 어떻게 객체에 의해 함수라고?

    다음 코드를 고려하십시오.

    var obj = {
                p1: 'property 1',
    
                func1 () {
                    return this.p1
                },
    
                func2 (param) {
                    return this.p1 + param
                }
        }
    

    또한 OBJ 객체에 의해 함수를 호출

    obj.func1 ();
    obj.func2 ('A');
    

    다음과 같은 사실, 런타임 기능보기

    var obj = {
                p1: 'property 1',
    
                func1 (this) {
                    return this.p1
                },
    
                func2 (this, param) {
                    return this.p1 + param
                }
        }
    
    func1 (obj);
    func2 (obj, 'A');
    

    클래스에 속하지 않는와 고정 물체 '이'매개 변수를 설정할 수있는 새로운 기능을 생성 할 수 결합 법;

    this.func1 = this.func1.bind(aObject)
    

    화살표 함수에서 함수에 전달 된 객체 화살표 함수를 정의 된 객체와 그 귀속이 파라미터 asthis.

  7. from https://stackoverflow.com/questions/4195970/what-does-this-mean-in-jquery by cc-by-sa and MIT license