2012-08-15 2 views
0

이것은 분명히 알 수 있습니다. 그러나 변수 이름 앞에 '$'를 붙이면 jQuery는 정확히 무엇을 수행합니까? 이것은 전역 네임 스페이스에 변수를 배치하는 것이지만 왜 그런가?

답변

7

그건 완전히 거짓입니다.

$은 짧은 이름이있는 일반 개체 (실제로는 함수)입니다.

$ 자체

전역합니다 ( window 객체의 속성) 다른 어떤 방식뿐만 아니라 다른 변수하는 $ (예컨대 var $myvar;) 시작이다

+0

감사합니다. $ 접두사 변수가 글로벌 네임 스페이스에 배치되었다고 생각하는 이유는 자바 스크립트 콘솔에 중단 점을 설정하면 스코프 변수 탭에 전역 변수에 내 모든 $ 고정 변수가 나열되어 있기 때문입니다. –

+1

@ChristianBenincasa 그 이유는 아마도 이름이 아닌 변수를 선언하는 방법 때문일 수 있습니다. –

1

변수이다.

편집 : "접두사"에 의한 경우

당신이 의미 :

"접두어"되지
$(myvar) 

. 나는 그것이 "포장"이라고 생각합니다. 변수를 "향상"합니다. window도 "포장"할 수 있습니다 ... http://www.bennadel.com/blog/1838-Wrapping-The-Window-Object-In-A-jQuery-Wrapper.htm

내용은 jQuery(myvar)과 동일합니다. jQuery은 함수 (호출 할 수있는 객체 인 경우)입니다.

+2

'$ (myvar)'는 "함수 호출"이라고 불립니다. 사람들은 때때로 그것을 jQuery 객체로 "래핑"한다고 부릅니다. '$'는 함수입니다. :-P –

+0

@Rocket +1 참, 사실, 내 대답 편집 :) – frnhr

2

JavaScript에서 $은 변수 이름에 유효한 문자입니다. 변수에 $을 추가하는 것은 특별한 일을하지 않습니다.

var $a; 
var a$b; 
var $; 

이들은 단지 변수이며 특별한 의미가 없습니다.

jQuery를 단지

0

:-) syntatic 설탕 window.jQuery에 대한 참조는 이름이 $로 시작되는 변수를 선언하고 있습니까 window.$ 무엇입니까?

당신이 작성하는 경우이 :

다음
$test = 500; 

그래, 당신이합니다 ($에 특별한 영향을 미치지 않습니다) 다른 변수 다르지 않다 $test라는 변수와 글로벌 네임 스페이스를 오염하고 있습니다. 그러나 JQuery와, 당신은 대부분이 일을하고 있습니다 : 단순한 함수 호출

$('test') 

합니다. 함수 이름은 $이며, 매개 변수는

0

'test' 당신이 일을 할 때 뜻입니다 : 당신이 $li 접두어하는

var $li = $("li"); 

. $ 접두사를 사용하려는 경우 변수를 호출하는 것이 중요하지 않습니다. $ variableName이 jQuery 객체라는 것을 알고 있으면 코드를 디버깅 할 때 도움이된다.

0

jQuery는 javascript 언어의 작동 방식을 변경할 수 없습니다. 이 세계에 addes

globalVariable = ... 

또는 첫 번째는 자바 스크립트 엄격 모드

작동하지

window.globalVariable = ... 

jquery.js가 실행되는 전역 변수를 만드는 두 가지 방법이 있습니다

창 개체에 대한 함수 $ 및 jQuery

변수가 로컬 변수이거나 글로벌 변수 인 변수를 변경할 수 없습니다.

관련 문제