2013-06-04 27 views
7

Họ có tính chất bản địa của window nếu vậy tại sao lại gọi là jQuery, chắc chắn jquery đưa ra sau khi javascript

Sửa: tôi đang tìm kiếm thông qua jquery.js và tìm thấy hai dòng sau mà làm cho tôi tự hỏi về ý nghĩa của chúng chính xác . Nếu không window.Jquery được null vì JQuery không phải là một biến của cửa sổ?

_jQuery = window.jQuery, 

_$ = window.$, 
+0

Tôi sẽ xem bài viết này để tìm hiểu thêm về jQuery cơ bản. http://jqfundamentals.com/chapter/jquery-basics. Hy vọng rằng sẽ giúp! –

+0

http://stackoverflow.com/questions/10896749/what-does-function-function-window-jquery-do – mutex36

Trả lời

8

Tôi sẽ lấy từ một bài báo tôi liên kết với trong một bình luận trên:

Như đã thảo luận trong Khái niệm cơ bản JavaScript phần, tên hợp lệ trong JavaScript có thể là khá nhiều thứ, miễn là chúng không bắt đầu bằng một số và không bao gồm dấu nối. Vì vậy, $ trong mã trên chỉ là một tên ngắn hơn, thuận tiện hơn cho hàm jQuery; trên thực tế, trong mã nguồn jQuery, bạn sẽ tìm thấy điều này gần cuối cùng:

// Expose jQuery to the global object 
window.jQuery = window.$ = jQuery; 

Khi bạn gọi $() chức năng và vượt qua một selector với nó, bạn tạo một đối tượng jQuery mới . Tất nhiên, trong JavaScript, các hàm cũng là các đối tượng , vì vậy điều đó có nghĩa là $ (và jQuery, tất nhiên) cũng có các thuộc tính và phương thức . Ví dụ: bạn có thể tham khảo thuộc tính $ .support cho thông tin về môi trường trình duyệt hiện tại hỗ trợ và bạn sử dụng phương thức $ .ajax để thực hiện yêu cầu AJAX.

Về cơ bản, jQuery (khi bạn đưa vào) tạo các hàm ở cửa sổ. $ Và window.jquery. Sau đó, nó thiết lập $ bằng cả hai của những người đến $ cho thuận tiện.

+0

Vì vậy, để khai báo một biến toàn cầu trong javascript, bạn phải làm một cái gì đó như 'window.myVariableName'? – code511788465541441

+2

Biến toàn cầu có thể được khai báo là myVariable. Nó bị ràng buộc với window.myVariable và có thể được truy cập bằng cả myVariable và window.myVariable –

4

jQuery là một thư viện javascript

jQuery là một thư viện JavaScript nhanh, nhỏ, và tính năng phong phú. Nó làm cho những thứ như duyệt qua tài liệu HTML và thao tác, xử lý sự kiện, hoạt ảnh và Ajax đơn giản hơn với API dễ sử dụng hoạt động trên nhiều trình duyệt. Với sự kết hợp của tính linh hoạt và khả năng mở rộng , jQuery đã thay đổi cách hàng triệu người viết JavaScript. http://jquery.com/

Khi bạn bao gồm tập lệnh trên trang nó sẽ tạo ra các đối tượng jQuery$ vào bối cảnh toàn cầu (cửa sổ). Nó không phải là bản địa.

Những

_jQuery = window.jQuery,  
_$ = window.$, 

Are ánh xạ nội bộ trong trường hợp ghi đè. Bạn có thể sử dụng chức năng .noConflict để khôi phục lại giá trị trước đó của window.$ xung đột nhằm ngăn prototype và các thư viện khác

2

window là mặc định/global object. Bất cứ lúc nào bạn assign a value và không rõ ràng về đối tượng mà nó sẽ được đính kèm thì nó sẽ được gán cho một thuộc tính của đối tượng chung trừ khi có một biến cục bộ để gán nó cho đầu tiên (xem phần 3.b .của PutValue);

Bất kỳ toàn cầu nào sẽ là tài sản của nó.

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