2010-08-01 7 views
22

저는 JQuery에서 초보자입니다.언제 jQuery에서 마침표를 사용해야합니까?

$ 다음에 오는 점은 언제 사용해야합니까?

$.trim(str) 아니요 $trim(str)?

일부 사례가없는 경우 : $(document).ready, $.(document).ready?

감사합니다.

+4

짧은 대답 : 일반적으로 달러 기호 뒤에는 괄호 또는 점과 메서드 이름이옵니다. 물론 JavaScript 언어를 배우려고하면 모든 점과 괄호가 실제로 의미하는 바를 이해해야합니다. – Martin

답변

18

저는 선택의 여지가 없다고 생각합니다. 단 하나의 구문 만 정확하고 실제로 작동 할 것입니다. $ 기호는 jQuery 기능을위한 속기 표기법에 불과하다, 그렇게 할 때 당신은 쓰기 : 당신은 함수를 호출

$('some selector') 

, jQuery을 불러 문자열을 전달하거나 경우에, 당신은있어 document 개체를 전달합니다.

trim과 같은 도우미 메서드와 같은 메서드를 호출 할 때는 jQuery.trim() 또는 $.trim() 구문을 사용해야합니다. 그것은 자신을 확인하기 쉽게, 그냥이 밖으로 시도 :

typeof($.trim) //returns "function" 
typeof($trim) //returns "undefined" 
+4

... ['typeof'] (https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Operators/Special_Operators/typeof_Operator) 연산자는 괄호 나 점을 사용할 필요가 없습니다. ;-) –

3

당신이 DOM 요소, 말의 프로토 타입에서 사용할 수 없습니다 jQuery를의 정적 메서드에 액세스합니다. trim은 API에 의해 노출 된 정적 메소드입니다.

$.fn.trim가 없으며 방법이 다를 수 있으므로 String.prototype.trim을 신뢰할 수 없습니다.

$trim에 대해서는 정의되지 않았습니다. trim$의 메소드이며 jQuery입니다. $['trim'] 또는 $.trim 중 하나를 수행 할 수 있으며 액세스 할 수있는 유일한 방법이어야합니다.

19

jQuery에서 foo 또는 bar과 같은 변수 이름은 $이며 글로벌 jQuery 객체를 참조합니다. jQuery 객체의 속성에 액세스하려면 점을 사용합니다. 이들은 기본적으로 동일 :

$.property 
jQuery.property 

($ 다른 같은 변수이기 때문에 당신이 당신이 좋아하는 무엇이든로 설정하는 것은 당신이 포함 후 Prototype 라이브러리를 포함한다면이 발생할 수있다. jQuery 라이브러리는 $을 가지고 document.getElementById 함수의 별칭을 가리킨다.)

jQuery 오브젝트는 함수 될 일이, 그래서 당신은 다른 함수를 호출하는 것처럼 당신이 그 기능을 동일하게 호출 할 수 있습니다 : 반면에

$(arguments) 
alert("arguments!") 

$trim이 또 다른 글로벌 변수, $ 될 수 또는 location 같은 함수는 직접 정의 :

var $trim = function(arguments) { 
    return "foo"; 
}; 

$trim(str) 
+1

+1 가장 좋은 답변 – CodyBugstein

2

$.foo 구문 $가 가진 객체로 취급되는 것을 의미 필드는 foo이며 일반적으로 호출하는 함수입니다. 그래서 이것은 실제로 foo이라는 독립형 함수와 다른 점이 없습니다. 다른 함수와 구별하고 jQuery 라이브러리와 연결하기 위해 단지 접두어가 $. 인 것입니다.

$(something).foo을 사용할 때 something을 jQuery 함수에 전달하면 결과가 전달 대상에 따라 달라집니다 (기존 개체를 찾기위한 선택기 일 수도 있고 빌드 할 HTML 스크랩 일 수도 있음). 새 객체 또는 페이지로드시 실행되도록 등록 될 함수 일 수 있음). 어쨌든, 결과로 반환 된 객체에 foo을 호출하고 있습니다. 전달 된 선택기가 클래스를 식별하는 경우 여러 DOM 객체에 적용될 수 있습니다.

첫 번째 구문은 jQuery 함수가 DOM 객체 (HTML 페이지의 일부) 이외의 객체에서 작동 할 때 사용됩니다. 예를 들어, 문자열 ($.trim) 또는 배열 ($.each)입니다. 그것들은 페이지의 요소가 아니며 자바 스크립트의 순수한 데이터입니다.

두 번째 구문은 DOM 요소에서 작동 할 때 사용됩니다. $(something)을 사용하면 0 개 이상의 DOM 요소를 감싸는 래퍼 인 jQuery 객체를 만들 수 있습니다. 그런 다음 반환 된 래퍼의 함수를 호출하여 래핑하는 객체를 편리하게 조작합니다.

관련 문제