2010-02-03 4 views
13

이것은 일종의 메타 질문입니다. 여기에 나와있는 많은 자바 스크립트 스 니펫은 달러 기호 접두사로 이름이 지정되어 있습니다 (예 :). this 질문에 표시된 스 니펫의 두 번째 줄에 표시됩니다. 나는 jQuery 나 다른 라이브러리를 언급하지 않는다. 나는 이것이 유효하다는 것을 잘 알고 있지만, 필요하지 않을 때는 어색하게 보입니다. 사람들이 왜 이런 변수를 명명합니까? PHP와 같은 서버 측 언어에 익숙한가요?

변수를 jQuery 객체로 식별하는 것이 좋습니다. 예를 들어 중복 선택을 나중에 없애기 위해 선택 결과를 변수에 저장하는 경우와 같이 일관된 규칙을 보지 못했습니다. .

답변

19

구문 상 달러 기호 자체는 아무 의미도 없습니다. 통역사에게 그것은 _ 또는 q과 같은 다른 문자 일뿐입니다. 그러나 jQuery 및 다른 유사한 프레임 워크를 사용하는 많은 사람들은 $로 jQuery 객체를 포함하는 변수에 접두사를 붙일 것이므로 쉽게 식별 할 수 있고 따라서 정수 또는 문자열과 섞이지 않습니다. 같은 변수 앞에 jq_이라는 접두사를 붙이면 쉽게 동일한 규칙을 적용 할 수 있으며 동일한 효과를 얻을 수 있습니다.

실질적으로 Hungarian notation입니다.

+0

'사실, 그것은 헝가리 표기법의 조잡한 종류입니다.'운좋게도'var strHippo = "hippo";와 같이 쓰여진 자바 스크립트는별로 보이지 않습니다. –

+3

전혀 헝가리 표기법이 아닙니다 ... –

4

종종 jQuery로 감싸 진 요소임을 나타 내기 위해 $로 변수 이름 앞에 접두사를 붙입니다. (대부분 함수에서 많이 사용하는 경우 $this에 할당합니다).

규칙의 부족은 사람들이 서로 다른 규칙을 사용하는 코드를 함께 복사하여 일치하지 않는 코드를 생성하는 것입니다.

PHP에서 많은 프로그램을하는 사람들은 습관적으로 변수 이름의 시작 부분에 $를 넣을 것입니다.

+0

$로 저장된 jQuery 객체를 나타내는 것은 괜찮은 방법입니다. String이나 다른 관련없는 유형을 저장하는 데 변수가 사용되는 것을 보았을 때 당황 스러웠습니다. –

+0

확실히 어떤 장소에서는'$ '를 임의로 사용하는 것이 바람직하지 않습니다. 모든 곳에서 사용하는 것이 이상 할지라도. – pib

2

필자는이 예제에서 사람이 jQuery 패턴을 복사하고 있거나 PHP/Perl에 익숙하지 않은 것으로 의심한다.

그러나 [경험이있는] 프로그래머는 $class 또는 $this과 같이 예약 된 키워드 인 변수 이름에이 키워드를 사용했습니다. 또는 심지어 전역을 위해. 이 경우 실제로는 개인적인 취향입니다.

+0

더 잘 알지 못하는 사람들이 jQuery를 복사하는 경향이 있습니다. –

관련 문제