Tại sao JQuery có ký hiệu đô la ở khắp mọi nơi?


111

Tôi đang thực hiện một dự án với khá nhiều JQuery trong đó. JQuery có rất nhiều ký hiệu $ ở khắp mọi nơi, chẳng hạn

$(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
                });
            }
        });
...

Câu hỏi của tôi là, ký hiệu đô la này có nghĩa là gì? Tại sao nó được sử dụng khắp nơi và làm thế nào để tôi hiểu và giải thích nó? Nó làm tôi nhớ lại những ngày đáng sợ khi tôi học Đề án ở trường Đại học và phải đặt dấu ngoặc ở khắp mọi nơi mà không biết tại sao tôi lại làm điều đó.


19
Đây $là bí danh cho đối tượng jquery
Lee

55
To wow và bối rối
Rudu

2
stackoverflow.com/questions/205853/… Có mọi thứ bạn cần biết về nó
smestudley


7
var $ = jQuery
Adam

Câu trả lời:


166

$chỉ là một lối tắt cho jQuery. Ý tưởng là mọi thứ được thực hiện với một biểu tượng toàn cầu (vì các không gian tên toàn cầu quá đông đúc) jQuery, nhưng bạn có thể sử dụng $(vì nó ngắn hơn) nếu bạn thích:

// 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"

Nếu bạn không muốn sử dụng bí danh, bạn không cần phải làm như vậy. Và nếu bạn muốn $không phải là bí danh jQuery, bạn có thể sử dụng noConflictvà thư viện sẽ khôi phục lại $bất kỳ thứ gì trước khi jQuery tiếp quản nó. (Hữu ích nếu bạn cũng sử dụng Prototype hoặc MooTools.)


12

Nó chỉ là một ký tự thuận tiện, ngắn hơn để nhập và dễ đọc hơn "jQuery".

Không có gì đặc biệt ngoại trừ việc nó theo truyền thống không được sử dụng để bắt đầu tên biến hoặc hàm, điều này làm giảm rủi ro hoặc xung đột tên.


1
Trừ khi bạn đang sử dụng một ngôn ngữ như PHP để javascript cư trong trang web của bạn sử dụng HTMLdocs, lúc này thời điểm đó ký hiệu đô la phục vụ mục đích bổ sung của phá vỡ tất cả mọi thứ kể từ PHP không sử dụng các ký hiệu đô la để bắt đầu tất cả các biến. (Một lý do là nếu bạn đang chia sẻ các tập lệnh jQuery để sử dụng rộng rãi trên mạng, bạn nên sử dụng jQuery thay vì $).
liljoshu

12

$dấu hiệu là một bí danh cho jQuery. Một phiên bản ngắn của jQuery, một cơ chế viết ít hơn.

Chỉ cho một ví dụ: (trong jQuery thì phức tạp hơn)

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

window.Myf = yourFunction;

Bây giờ bạn có thể gọi yourFunctionnhư:

Myf(); // definitely a short syntax

11

Writability và hiệu suất


Khi chúng ta đang làm việc trên thư viện hoặc một ngôn ngữ lập trình, chúng ta nên chú ý đến một số quy tắc về khả năng ghi. Nhờ jQuery, họ đã triển khai rất nhiều tùy chọn. Bạn có thể sử dụng $hoặc bạn có thể sử dụng jQueryhoặc bạn có thể sử dụng_

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

Hoặc có thể bạn có thể thực hiện các thay đổi lạ mắt, mã định danh javascript là unicode để bạn có thể sử dụng Ω

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

Nhưng ý tưởng chính đằng sau nó, nhấn một lần vào bàn phím tốt hơn gõ phím jQuery


Mặt khác, chúng tôi có hiệu suất ... Tôi chỉ mở ngẫu nhiên một trong các dự án của mình và tìm kiếm $, tôi đã sử dụng 54 $trong một tệp javascript.

$ là một byte.

jQuery là 6 byte.

Sự khác biệt là rất lớn 54 * 5 = 220 byte.


Nếu bạn đang bỏ phiếu tiêu cực, xin đừng ích kỷ cho tôi biết tôi đã làm gì sai. Để tôi có thể sửa chữa những sai lầm của mình nếu có!
Ahmet Can Güven

220 byte sẽ không thực sự tạo ra bất kỳ sự khác biệt đáng kể nào về tốc độ. Ngoài ra, nó sẽ không chỉ chiếm 220 byte vì mã phải đi qua động cơ V8 JS (hoặc các động cơ khác) và chúng tôi không biết nó phân bổ bao nhiêu cho những thứ khác nhau.
Garrett Smith

@GarrettSmith Tôi đang nói về chi phí mạng. Việc thực thi $ hoặc jQuery gần như giống hệt nhau.
Ahmet Can Güven

6

Google là bạn của bạn: $ sign JQuery

Dollar Sign chỉ là một bí danh của JQuery.

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

HOẶC LÀ

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

4
FYI: google.com.pk/... dường như cung cấp các kết quả tìm kiếm tương tự, trong đó hàm ý rằng Google không thực sự cho phép của $ như một thuật ngữ tìm kiếm
Max Nanasy

5

Trong javascript, $(một ký tự đô la duy nhất) là một tên biến hợp lệ. Một số khuôn khổ, trong đó có jQuery, đã chấp nhận nó như một từ đồng nghĩa của một đối tượng chứa các phương thức tiện lợi cấp cao nhất mà khuôn khổ cung cấp.


1

Dấu $ được dùng làm bí danh cho Jquery. thay vì sử dụng jquery.hide, jquery.show mọi nơi chúng ta có thể sử dụng bí danh $ ($ .hide) Vì chúng ta đang sử dụng từ này rất nhiều lần. 'Jquery' sẽ không phải là một cách thuận tiện nên chúng tôi đang sử dụng bí danh $. Nếu chúng ta muốn thay đổi nó, chúng ta có thể thay đổi nó bằng phương thức noConflict var Sample = $. NoConflict ()

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.