[JQUERY] "이"jQuery를 무엇을 의미합니까? [복제]
JQUERY"이"jQuery를 무엇을 의미합니까? [복제]
해결법
-
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.this 키워드
this 키워드
함수에 사용될 때,이 값은, 오브젝트에 사용이 function.The의 값은, 오브젝트 자체는 "소유"하는 것을 목적으로한다. 객체 생성자에서 this 키워드는 값이 없습니다. 이 생성자는 객체를 생성하는 데 사용되는 경우이의 새로운 object.The 값이 새 개체가됩니다 만 대체합니다.
이 변수가 아닙니다. 이 키워드입니다. 이 값을 변경할 수 없습니다.
-
3.여기에 내가 단순히 그것을 설명 할 방법입니다
여기에 내가 단순히 그것을 설명 할 방법입니다
이 함수를 호출 객체를 의미한다.
그래서이보고 :
var foo = { name: "foo", log: function(){ console.log(this.name); } } var bar = { name: "bar" } bar.log = foo.log; bar.log();
바 객체 자체에 대한 그것의 자신의 로그 속성에 foo는의 로그 방식의 참조를 저장합니다. 바가 로그 메소드를 호출 때 지금,이 방법은 바 객체에 의해 부름 때문에 바 가리 킵니다.
이것은 다른 개체, 심지어 윈도우 객체에 적용됩니다. 전역 범위를 통해 함수를 호출하는 경우,이 창 객체를 가리 킵니다.
함수의 결합 또는 호출 방법을 사용하여 명시 적으로 객체가이 실행 중을 참조 무슨 정의 할 수 있습니다.
재미있는 사실 : 상부층 / 레벨 전역에 아무것도 정의는 윈도우 오브젝트의 속성 (전역 = 윈도우 오브젝트)가된다.
-
4.에 대한 Google 최고 결과가 "자바 스크립트이"http://www.quirksmode.org/js/this.html
에 대한 Google 최고 결과가 "자바 스크립트이"http://www.quirksmode.org/js/this.html
편집 : 나는 키 문장이 생각 :
"에서 자바 스크립트는"이 소유자 "항상을 의미한다" "우리가 기능하는 방법이라는 객체가 아니라 실행 또는있는 기능."
쿼크 모드는 (일반적으로 *) 우수한 가치 자세히 전체 기사를 읽고 있습니다.
* 분명히이 사항이 반드시 정확하지 않은 참조 T.J. 아래 크라우의 코멘트.
-
5.이 방법은 실제로 자바 스크립트에서 사용되는 경우이 자리 표시 자 역할을하고 참조 할 키워드는 방법 것이라는 객체에 대한 중
이 방법은 실제로 자바 스크립트에서 사용되는 경우이 자리 표시 자 역할을하고 참조 할 키워드는 방법 것이라는 객체에 대한 중
-
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.
from https://stackoverflow.com/questions/4195970/what-does-this-mean-in-jquery by cc-by-sa and MIT license
'JQUERY' 카테고리의 다른 글
[JQUERY] "POST"JSONP 아약스 호출 : 유형을 사용하는 방법 (0) | 2020.10.04 |
---|---|
[JQUERY] 어떻게 자바 스크립트 또는 jQuery를하는 대신에 액세스 PHP 변수에 <? PHP는 에코 $ 변수?> [중복] (0) | 2020.10.04 |
[JQUERY] jQuery를 마우스 휠 이벤트를 받기? (0) | 2020.10.04 |
[JQUERY] JQuery와 선택기에서 DOM 요소를 얻는 방법 (0) | 2020.10.04 |
[JQUERY] 수 여러 $ (문서) .ready가 (함수 () {...}); 섹션? (0) | 2020.10.04 |