2012-06-10 34 views
5

Tôi cố gắng để gỡ lỗi mã của ai đó, và tình cờ gặp này:dấu ba đô la trong jquery là gì?

$$$.ajax({ 
    url: ajax_url + param, 
    context: $("#formDialog"), 
    success: function(data) { 
     this.html(data); 
     BindPopupFormEvents(this, title, reload); 
    } 
}, $$$.ajax.PARTAIL_UPDATE, $mainWrapper);​ 

Chúng tôi đang sử dụng thư viện jquery, nhưng tôi chưa bao giờ thấy một dấu đô la triple trước và tôi không có đầu mối những gì nó là .. . bất kỳ đề xuất?

EDIT

Tôi thấy điều này sau này:

$$$.fn = $$$.prototype = { 
    init: function(jQuery, test) {}, 
    CONST: CONST 
};​ 

Chúng tôi chỉ sử dụng thư viện jquery, và chúng tôi sử dụng một ký hiệu đô la duy nhất trong hầu hết các mã.

bạn có thể giải thích bằng tiếng Anh đơn giản khi ký hiệu đô la ba đang hoàn thành không?

+0

tôi thực sự không có ý tưởng những gì "sau này" công cụ là nghĩa vụ phải làm :( –

+0

Về sửa đổi của bạn : Sau đó, nó chỉ là ngu ngốc ... trừ khi '$$$' đề cập đến một phiên bản jQuery khác với '$'., Bạn biết gì, sau suy nghĩ thứ hai, Điều đó thật ngu ngốc ... ':)' – gdoron

+0

Tôi biết đã hơn hai năm ... nhưng tôi đã nhìn thấy bản chỉnh sửa của bạn vừa rồi ... Xem câu trả lời đã cập nhật của tôi. Xin lỗi về sự chậm trễ. ':)' – gdoron

Trả lời

7

Đó chỉ là bí danh đối tượng jQuery, giống như $. Đó là tất cả ...

Trong thể được thực hiện bằng tay hoặc bằng jQuery.noConflict()

Ví dụ:

var $$$ = jQuery.noConflict(); 
var bla = jQuery.noConflict(); 

Bây giờ cả hai $$$bla là bí danh cho các đối tượng jQuery.

Nhiều thư viện JavaScript sử dụng $ làm hàm hoặc tên biến, giống như jQuery. Trong trường hợp của jQuery, $ chỉ là một bí danh cho jQuery, vì vậy tất cả các chức năng có sẵn mà không cần sử dụng $. Nếu chúng ta cần phải sử dụng một thư viện JavaScript cùng với jQuery, chúng ta có thể quay trở lại kiểm soát của $ trở lại thư viện khác với một cuộc gọi đến $ .noConflict():


Chỉnh sửa để phản ánh chỉnh sửa của bạn:

Mặc dù tôi thấy phần chỉ nhỏ của mã nhưng $$$.fn = $$$.prototype có vẻ ngớ ngẩn như jQuery.fn là một bí danh để jQuery.prototype ...

Từ mã nguồn:

jQuery.fn = jQuery.prototype 
3

$$$ chỉ là định danh JavaScript [nother].

Thuộc tính $$$không xác định bởi jQuery, nhưng có lẽ ai đó đã làm một cái gì đó như thế này:

$$$ = jQuery.noConflict(); 

Có lẽ để tránh ghi đè lên một $ từ thư viện khác. Mặc dù tôi thấy nó là khá xấu xí và sẽ lựa chọn để chỉ ràng buộc $ để jQuery trong một đóng cửa:

;(function myStuff ($, evil$) { 
    // do stuff with $ (jQuery) and "the other $" 
})(jQuery, $) // <-- keep us real 
+0

nhưng chúng tôi sử dụng một ký hiệu đô la duy nhất trên tất cả, tại sao trong trường hợp này chúng ta sẽ sử dụng một ba? chúng tôi chỉ tải thư viện jquery –

+1

@estherh Có lẽ mã từ Dr. Evils Awesome Library sử dụng '$'. Hoặc có lẽ một nhà phát triển nghĩ rằng nhiều tiền hơn ('$$$') tốt hơn tiền ít hơn ('$'). Tôi sẽ * không * đề nghị phương pháp này, mặc dù :) –

+0

haha ​​:-) tôi đã chọn cả hai của bạn và gdoron là câu trả lời "đúng", nhưng phải chọn chỉ một ... cảm ơn cho đầu vào mặc dù –

Các vấn đề liên quan