Câu trả lời:
Đoạn mã của bạn trông giống như các phương thức tham chiếu từ một trong các thư viện JavaScript phổ biến (jQuery, ProtoType, mooTools, v.v.).
Không có gì bí ẩn về việc sử dụng $JavaScript. $chỉ đơn giản là một định danh JavaScript hợp lệ.
JavaScript cho phép các chữ cái trên và dưới, số $và _. Mục $đích được sử dụng cho các biến do máy tạo (chẳng hạn như $0001).
Prototype, jQuery và hầu hết các thư viện javascript đều sử dụng $làm đối tượng cơ sở chính (hoặc hàm). Hầu hết trong số họ cũng có cách từ bỏ $để có thể sử dụng nó với một thư viện khác sử dụng nó. Trong trường hợp đó bạn sử dụng jQuerythay vì $. Trong thực tế, $chỉ là một phím tắt cho jQuery.
Từ một câu trả lời khác :
Một ít lịch sử
Hãy nhớ rằng, không có gì đặc biệt vốn có $. Nó là một tên biến giống như bất kỳ khác. Trong những ngày trước, mọi người thường viết mã bằng document.getEuityById. Vì JavaScript phân biệt chữ hoa chữ thường, nên việc viết sai là bình thường document.getElementById. Tôi có nên vốn 'b'của 'by'? Tôi có nên vốn 'i'của Id?Bạn có được sự trôi dạt. Vì các hàm là công dân hạng nhất trong JavaScript, bạn luôn có thể thực hiện việc này:
var $ = document.getElementById; //freedom from document.getElementById!
Khi thư viện Prototype đến, họ đặt tên cho hàm của chúng, lấy các phần tử DOM, như '$'. Hầu như tất cả các thư viện JavaScript đã sao chép ý tưởng này. Prototype cũng giới thiệu một $$chức năng để chọn các thành phần bằng cách sử dụng bộ chọn CSS.
jQuery cũng điều chỉnh $chức năng nhưng được mở rộng để làm cho nó chấp nhận tất cả các loại 'bộ chọn' để có được các phần tử bạn muốn. Bây giờ, nếu bạn đã sử dụng Prototype trong dự án của mình và muốn bao gồm jQuery, bạn sẽ gặp vấn đề vì '$'có thể tham khảo cách triển khai của Prototype HOẶC jQuery. Đó là lý do tại sao jQuery có tùy chọn noConflict để bạn có thể đưa jQuery vào dự án sử dụng Prototype và từ từ di chuyển mã của bạn. Tôi nghĩ rằng đây là một bước đi tuyệt vời về phía John! :)
var $ = document.getElementById;không hoạt động trong Firefox hoặc Google Chrome. Bạn nên sử dụng function $(id) { return document.getElementById(id); }thay thế. Xem stackoverflow.com/questions/1007340 để biết thêm thông tin.
Đó rất có thể là jQuery mã (chính xác hơn là JavaScript sử dụng thư viện jQuery).
Hàm $đại diện cho Hàm jQuery và thực sự là một bí danh tốc ký cho jQuery. (Không giống như trong hầu hết các ngôn ngữ, $ký hiệu không được bảo lưu và có thể được sử dụng làm tên biến.) Nó thường được sử dụng làm bộ chọn (tức là một hàm trả về một tập hợp các phần tử được tìm thấy trong DOM).
Như tất cả các câu trả lời khác nói; nó có thể là hầu hết mọi thứ nhưng thường là "JQuery".
Tuy nhiên, trong ES6, nó là một toán tử nội suy chuỗi trong một mẫu "bằng chữ", vd.
var s = "new" ; // you can put whatever you think appropriate here.
var s2 = `There are so many ${s} ideas these days !!` ; //back-ticks not quotes
console.log(s2) ;
kết quả:
Có rất nhiều ý tưởng mới trong những ngày này !!
Đây $()là phiên bản tốc ký jQuery()được sử dụng trong Thư viện jQuery .
Ngoài các câu trả lời ở trên, $không có ý nghĩa đặc biệt trong javascript, nó được sử dụng miễn phí trong việc đặt tên đối tượng. Trong jQuery , nó chỉ đơn giản là sử dụng như một bí danh cho jQuery đối tượng và jQuery () chức năng. Tuy nhiên, bạn có thể gặp các tình huống mà bạn muốn sử dụng nó cùng với một thư viện JS khác cũng sử dụng $, điều này sẽ dẫn đến xung đột đặt tên. Có một phương thức trong JQuery chỉ vì lý do này jQuery.noConflict().
Đây là một mẫu từ tài liệu của jQuery :
<script src="other_lib.js"></script>
<script src="jquery.js"></script>
<script>
$.noConflict();
// Code that uses other library's $ can follow here.
</script>
Ngoài ra, bạn cũng có thể sử dụng như thế này
(function ($) {
// Code in which we know exactly what the meaning of $ is
} (jQuery));
Từ tài liệu jQuery mô tả đối tượng jQuery Core :
Nhiều nhà phát triển tiền tố $ cho tên của các biến có chứa các đối tượng jQuery để giúp phân biệt. Không có gì kỳ diệu về thực hành này - nó chỉ giúp một số người theo dõi những biến khác nhau chứa gì.