JQuery에는 왜 모든 곳에 달러 기호가 있습니까?


112

나는 꽤 많은 JQuery가 포함 된 프로젝트를 진행하고 있습니다. 예를 들어 JQuery에는 모든 곳에 $ 기호가 많이 있습니다.

$(document).ready(function () {
        $('input[type=file]').wl_File({
            url: '/Admin/PolicyInventory/UploadDocuments',
            onFileError: function (error, fileobj) {
                $.msg('file is not allowed: ' + fileobj.name, {
                    header: error.msg + ' Error ',
                    live: 10000
                });
            }
        });
...

제 질문은이 달러 기호가 무엇을 의미합니까? 왜 여기저기서 사용되며 어떻게 이해하고 해석합니까? 그것은 내가 대학에서 Scheme을 배우고 있었는데 왜 내가 그것을하고 있는지 모른 채 모든 곳에 괄호를 두어야했던 무서운 날을 상기시킵니다.


19
$jQuery 오브젝트의 별칭입니다

56
와우와 혼란
Rudu

2
stackoverflow.com/questions/205853/… 그것에 대해 알아야 할 모든 것이 있습니다
smokestudley


7
var $ = jQuery
Adam

답변:


167

$의 바로 가기입니다 jQuery. 아이디어는 모든 것이 하나의 글로벌 심볼로 완료 된다는 입니다 (글로벌 네임 스페이스가 엄청나게 붐비기 때문에 ) jQuery,하지만 원하는 경우 사용할 수 있습니다 $(더 짧기 때문에).

// These are the same barring your using noConflict (more below)
var divs = $("div");       // Find all divs
var divs = jQuery("div");  // Also find all divs, because
console.log($ === jQuery); // "true"

별칭을 사용하지 않으려면 할 필요가 없습니다. 그리고에 $대한 별칭 이되고 싶지 않다면을 jQuery사용할 수 noConflict있으며 라이브러리는 $jQuery가 인수하기 전의 상태로 복원 됩니다. (Prototype 또는 MooTools도 사용하는 경우 유용합니다.)


12

그것은 단지 편리한 문자 일 뿐이며 "jQuery"보다 더 짧고 읽기 쉽습니다.

전통적으로 변수 또는 함수 이름을 시작하는 데 사용되지 않아 위험이나 이름 충돌을 줄인다는 점을 제외하면 특별한 것은 없습니다.


1
PHP와 같은 다른 언어를 사용하여 HTMLdocs를 사용하여 사이트에 자바 스크립트를 채우지 않는 한, PHP 달러 기호를 사용하여 모든 변수를 시작하기 때문에 달러 기호 모든 것을 깨는 추가 목적을 제공합니다 . (광범위한 네트워크 사용을 위해 jQuery 스크립트를 공유하는 경우 $ 대신 jQuery를 사용하는 것이 좋습니다).
liljoshu

12

$sign은의 별칭입니다 jQuery. jQuery적은 쓰기 메커니즘 인의 짧은 버전입니다 .

예를 들어 : (jQuery에서는 더 복잡합니다)

var yourFunction = function() {
    alert('a function');
}

window.Myf = yourFunction;

이제 다음 yourFunction과 같이 호출 할 수 있습니다 .

Myf(); // definitely a short syntax

11

쓰기 가능성 및 성능


도서관이나 프로그래밍 언어로 작업 할 때 쓰기 가능성 규칙에주의를 기울여야합니다. jQuery 덕분에 이미 많은 옵션을 구현했습니다. 사용 $하거나 사용할 jQuery수 있습니다._

(function (_) {
    _("#wow").click()
})(jQuery);

또는 멋진 변경을 할 수 있습니다. javascript 식별자는 유니 코드이므로 사용할 수 있습니다. Ω

(function (Ω) {
    Ω("#wow").click()
})(jQuery);

그러나 그이면의 주요 아이디어는 키보드를 한 번 누르는 것이 타이핑보다 낫다는 것입니다. jQuery


다른 한편으로는 성능이 있습니다. 방금 프로젝트 중 하나를 무작위로 열고을 검색했습니다 . 단일 자바 스크립트 파일에서 $54 개 $를 사용 했습니다.

$ 바이트입니다.

jQuery 6 바이트입니다.

그 차이는 54 * 5 = 220 바이트입니다.


당신이 반대표를한다면, 내가 뭘 잘못했는지 말해 주려고 이기적으로 굴지 마세요. 실수가 있으면 바로 고칠 수 있도록!
Ahmet Can Güven

220 바이트는 속도에 관한 한 큰 차이를 만들지 않습니다. 또한 코드가 V8 JS 엔진 (또는 다른 엔진)을 거쳐야하기 때문에 220 바이트를 차지하지 않고 다른 것에 얼마나 많이 할당되는지 알 수 없습니다.
Garrett Smith

@GarrettSmith 네트워킹 비용에 대해 이야기하고있었습니다. $ 또는 jQuery의 실행은 거의 동일합니다.
Ahmet Can Güven

6

Google은 당신의 친구입니다 : $ sign JQuery

달러 기호는 JQuery의 별칭입니다.

jQuery(document).ready(function(){});

또는

$(document).ready(function(){});

4
참고 : google.com.pk/...는 구글이 실제로 검색 용어로 $를 허용하지 않는 것을 의미하는 동일한 검색 결과를 제공하는 것
최대 Nanasy

5

자바 스크립트에서 $(단일 달러 문자)는 유효한 변수 이름입니다. jQuery를 포함한 여러 프레임 워크는 프레임 워크가 제공하는 최상위 수준의 편의 메소드를 포함하는 객체의 동의어로이를 채택했습니다.


1

$ 기호는 Jquery의 별칭으로 사용됩니다. jquery.hide를 사용하는 대신 jquery.show 모든 곳에서 별칭 $ ($ .hide)를 사용할 수 있습니다.이 단어를 많이 사용하고 있기 때문입니다. 'Jquery'는 편리한 방법이 아니므로 $라는 별칭을 사용하고 있습니다. 변경하려면 noConflict 메서드 var Sample = $. noConflict ()로 변경할 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.