이것은 분명히 알 수 있습니다. 그러나 변수 이름 앞에 '$'를 붙이면 jQuery는 정확히 무엇을 수행합니까? 이것은 전역 네임 스페이스에 변수를 배치하는 것이지만 왜 그런가?
답변
그건 완전히 거짓입니다.
$
은 짧은 이름이있는 일반 개체 (실제로는 함수)입니다.
$
자체
window
객체의 속성) 다른 어떤 방식뿐만 아니라 다른 변수하는
$
(예컨대
var $myvar;
) 시작이다
변수이다.
편집 : "접두사"에 의한 경우
당신이 의미 :
"접두어"되지$(myvar)
. 나는 그것이 "포장"이라고 생각합니다. 변수를 "향상"합니다. window
도 "포장"할 수 있습니다 ... http://www.bennadel.com/blog/1838-Wrapping-The-Window-Object-In-A-jQuery-Wrapper.htm
내용은 jQuery(myvar)
과 동일합니다. jQuery
은 함수 (호출 할 수있는 객체 인 경우)입니다.
'$ (myvar)'는 "함수 호출"이라고 불립니다. 사람들은 때때로 그것을 jQuery 객체로 "래핑"한다고 부릅니다. '$'는 함수입니다. :-P –
@Rocket +1 참, 사실, 내 대답 편집 :) – frnhr
JavaScript에서 $
은 변수 이름에 유효한 문자입니다. 변수에 $
을 추가하는 것은 특별한 일을하지 않습니다.
var $a;
var a$b;
var $;
이들은 단지 변수이며 특별한 의미가 없습니다.
jQuery를 단지
:-) syntatic 설탕 window.jQuery
에 대한 참조는 이름이 $
로 시작되는 변수를 선언하고 있습니까 window.$
무엇입니까?
당신이 작성하는 경우이 :
다음$test = 500;
그래, 당신이합니다 ($
에 특별한 영향을 미치지 않습니다) 다른 변수 다르지 않다 $test
라는 변수와 글로벌 네임 스페이스를 오염하고 있습니다. 그러나 JQuery와, 당신은 대부분이 일을하고 있습니다 : 단순한 함수 호출
$('test')
합니다. 함수 이름은 $
이며, 매개 변수는
'test'
당신이 일을 할 때 뜻입니다 : 당신이 $
와 li
접두어하는
var $li = $("li");
. $
접두사를 사용하려는 경우 변수를 호출하는 것이 중요하지 않습니다. $ variableName이 jQuery 객체라는 것을 알고 있으면 코드를 디버깅 할 때 도움이된다.
jQuery는 javascript 언어의 작동 방식을 변경할 수 없습니다. 이 세계에 addes
globalVariable = ...
또는 첫 번째는 자바 스크립트 엄격 모드
작동하지
이window.globalVariable = ...
jquery.js가 실행되는 전역 변수를 만드는 두 가지 방법이 있습니다
창 개체에 대한 함수 $ 및 jQuery
변수가 로컬 변수이거나 글로벌 변수 인 변수를 변경할 수 없습니다.
- 1. 네임 스페이스가있는 PHPUnit getMock()
- 2. 여러 네임 스페이스가있는 DataContractSerializer
- 3. 네임 스페이스가있는 DOM 주입
- 4. jQuery 네임 스페이스 전역 변수
- 5. null 네임 스페이스가있는 AC# 클래스
- 6. Simplexml 네임 스페이스가있는 특성 얻기
- 7. 네임 스페이스가있는 xml 파일 출력
- 8. 네임 스페이스가있는 특성의 XPath 필터링
- 9. 여러 네임 스페이스가있는 레일 애플리케이션
- 10. 네임 스페이스가있는 xml 파일 만들기
- 11. 노드에서 네임 스페이스가있는 xquery 구문
- 12. 많은 네임 스페이스가있는 결과는 무엇입니까?
- 13. 기본 네임 스페이스가있는 노드 선택
- 14. 개인 네임 스페이스가있는 힘내 호스팅
- 15. 메서드 매개 변수의 네임 스페이스
- 16. 전역 네임 스페이스 vars?
- 17. jQuery 특성 선택자 : 사용자 지정 네임 스페이스가있는 특성을 쿼리하는 방법
- 18. jQuery : 전역 변수 네임 스페이스 문제
- 19. 전역 변수의 대안?
- 20. 전역 변수의 C++ 초기화
- 21. 전역 변수의 인스턴스화 순서
- 22. PHP 전역 변수의 mod_rewrite에게
- 23. XML에 여러 네임 스페이스가있는 경우 네임 스페이스가있는 노드의 getChildText()를 사용하는 방법은 무엇입니까?
- 24. 피드에 네임 스페이스가있는 SyndicationFeed 개체 작성자를 얻으려면
- 25. XmlSlurper : 네임 스페이스가있는 요소의 텍스트 변경
- 26. SimpleXMLElement 네임 스페이스가있는 요소에 액세스 하시겠습니까?
- 27. 네임 스페이스가있는 SQL Server 2005 XML
- 28. Simplexml은 인라인 네임 스페이스가있는 XML을 구문 분석합니다.
- 29. XML 노드 : 네임 스페이스가있는 특성 추가
- 30. 두 개의 다른 네임 스페이스가있는 하나의 클래스?
감사합니다. $ 접두사 변수가 글로벌 네임 스페이스에 배치되었다고 생각하는 이유는 자바 스크립트 콘솔에 중단 점을 설정하면 스코프 변수 탭에 전역 변수에 내 모든 $ 고정 변수가 나열되어 있기 때문입니다. –
@ChristianBenincasa 그 이유는 아마도 이름이 아닌 변수를 선언하는 방법 때문일 수 있습니다. –