01/10/2018, 13:36
Ý nghĩa của từ khóa $ trước tên biến
Chào mọi người,mình có đọc được đoạn Code người ta viết thế này để tạo effect Smooth scrolling:
$(document).ready(function () {
var hash = window.location.hash;
scrollToElem(hash);
$('a.page-scroll').on('click', function (event) {
var $anchor = $(this);
var href = $anchor.attr('href');
scrollToElem(href);
event.preventDefault();
});
});
Trong Code, mình để ý thấy có dòng này : var $anchor = $(this);
, mình thấy đây là một phép gán thông thường đối tượng $(this)
cho biến anchor
nhưng mình không hiểu tại sao trước tên biến anchor
lại cần thêm ký tự $
. Nó có quan trọng không ?
Nhờ mọi người giải thích giùm mình với. Mình xin cám ơn trước .
Bài liên quan
What is the meaning of symbol $ in jQuery?
Theo mình hiểu thì dấu
$
của$anchor
ko có ý nghĩa đặc biệt gì, có thể đó là 1 quy tắc đặt tên cá nhân của tác giả thôi.bạn hoàn toàn có thể thay thế biến
$anchor
thànhanchor
mà ko ảnh hưởng gì đến chương trình.https://www.w3schools.com/js/js_variables.asp
Đặt $ trước tên biến là 1 trong các quy tắc theo jQuery convention. Các biến có tên bắt đầu là $ sẽ nhận biết biến đó là 1 jQuery object.
href là biến thông thường, kiểu string, $anchor là biến jQuery, kiểu jQuery object.
Ngoài ra, $ còn được đặt sau để nhận biết biến đó thuộc đối tượng Observable trong Reactive Programming, cụ thể là RxJS. Theo convention, đối tượng Observable có thể đặt tên theo 2 kiểu.
Tên biến thông thường + $
Hoặc tên biến + Observable
Đó là 2 trường hợp biến có kèm theo $. Thông thường không nên đặt tên biến có $, _ dù JavaScript cho phép.