2011-01-29 33 views
6

tôi tìm thấy nó ở khắp mọi nơi, như thế này.

function($) { 
    $.test = { some code } 
} 

có nghĩa là gì?

Trả lời

7

Bạn nên suy nghĩ về mã jQuery như một bộ phận giữa hai cách chức năng gọi số:

  1. Phương pháp trên sự lựa chọn. Đây là tiêu chuẩn "tìm một số yếu tố, làm điều gì đó với họ" kỹ thuật. Mã của nó giống như $('p').val(), $('div').prepend(), v.v.
  2. Phương pháp không có lựa chọn. Đây là các hàm không yêu cầu bạn thực hiện lựa chọn trước khi gọi hàm. Đây là các chức năng như $.ajax, $.param, $.each. Để thuận tiện, chúng là các thuộc tính của biến toàn cục $, là thư viện jQuery. Thông thường, chúng không phải là jQuery cụ thể, nhưng là các đoạn mã hữu ích để đưa vào thư viện.
+0

Đã đóng đinh nó. Tôi chỉ viết những thứ như $ ('selector'). Do_something. Dường như rõ ràng với tôi, bây giờ, $ .stuff tạo ra các phương thức mới cho các đối tượng jquery :) –

9

Hãy suy nghĩ về $ giống như bất kỳ biến nào khác. Đối với jQuery, đó là đối tượng jQuery, khá mạnh. Nhưng nó cũng giống như bất kỳ biến nào khác; bạn có thể viết riêng của bạn $ nếu bạn muốn, ví dụ.

Đó là một tên biến khác thường, vâng, nhưng không có gì huyền diệu về nó. Các .something chỉ là một tài sản của biến $. Nó không khác với cách viết obj.something, thay vào đó, tên biến là $.

Ký tự không phải chữ và số khác mà bạn có thể sử dụng trong JavaScript dưới dạng tên biến là _ (dấu gạch dưới). Nó được sử dụng trong một số thư viện khác, như underscore.js. Nhưng một lần nữa, không có gì đặc biệt khi sử dụng _.

+0

'$' là một tiêu chuẩn được sử dụng cho các biến trong nhiều ngôn ngữ khác nhau. Không có gì huyền diệu về nó. – Raynos

+0

tôi đã nhìn thấy biến $ trước đây, nhưng đây là lần đầu tiên tôi thấy $ tất cả bởi chính nó. –

+0

Tôi không biết nếu '$' là _chicken_ hoặc _egg _.... nhưng tôi thường không thể không tự hỏi liệu nó có thể không chỉ là '$' tạo JS ... "vì vậy f- ing gây phiền nhiễu ". –

4

biến $ là bí danh cho đối tượng jQuery/'không gian tên'. Vì vậy, khi bạn nhìn thấy $.function() bạn đang thực sự gọi một phương thức có tên là 'chức năng' trên đối tượng jQuery. Trong mã ví dụ của bạn, một đối tượng có tên là test đang được gắn vào đối tượng jQuery. nếu bạn viết $.test = function() { } bạn sẽ gắn một hàm (phương thức) thay vì một đối tượng.