Saya melakukan beberapa pemrograman javascript / jQuery beberapa tahun yang lalu, dan saya baru memulai lagi. Saat itu tanda dolar digunakan untuk semua fungsionalitas jQuery, dan jika tidak ada pustaka jQuery yang diimpor, tanda dolar tidak ditentukan.
Hari ini, saya memulai Firefox, dalam file html yang benar-benar kosong tanpa pustaka javascript, namun tanda dolar menunjukkan sesuatu. Jika saya membuka konsol Firefox dan mengetik '$' saya mengerti "function()"
.
1) Apakah benar bahwa tanda dolar tidak diberikan, beberapa tahun yang lalu, atau apakah saya salah ingat?
2) Apa tanda dolar , jika bukan jQuery?
sumber
$.fn.jquery
$
tidak digunakan dalam literal template dalam pertanyaan ini .Itu tidak berarti apa-apa bagi penerjemah seperti garis bawah
Dari spesifikasi ECMAScript:
Anda juga dapat memeriksa JavaScript Dollar Sign ($) - Untuk apa ini?
IdentifierName :: IdentifierStart IdentifierName IdentifierPart IdentifierStart :: UnicodeLetter $ _ UnicodeEscapeSequence IdentifierPart :: IdentifierStart UnicodeCombiningMark UnicodeDigit UnicodeConnectorPunctuation UnicodeEscapeSequence
EDIT: -
Sebenarnya fungsi tanda dolar telah menjadi jalan pintas de facto yang kurang lebih
document.getElementById()
.Untuk mengkonfirmasi poin saya, periksa ini :
sumber
Dollar sign($)
tidak ditugaskan, tetapi beberapa browser menambahkan fungsi untuk penggunaan khusus.Seperti Google Chrome, jika Anda mengetik
$
di konsol, ini akan menghasilkan:function $(selector, [startNode]) { [Command Line API] }
Fungsi ini ditetapkan untuk Alat Pengembang Google Chrome, dan membiarkan debug lebih mudah.
jika Anda mengetik
$('div')
, itu akan mengembalikan sesuatu seperti ini:e.fn.e.init[178]
dan menyertakan setiap
div
objek DOM di dalamnya.BTW, setelah Anda mengklik tombol kanan pada mouse untuk memilih elemen, Anda dapat mengakses cakupan angular.js berdasarkan jenis
$scope
di konsolsumber
Perhatikan itu
$$
tidak cukupdocument.querySelectorAll
, karena tidak seperti fungsi itu, ia tidak mengembalikanNodeList
:document.querySelectorAll("p") instanceof NodeList // true $$("p") instanceof NodeList // false Array.isArray($$("p")) // true
Jadi
$$(selector)
benar-benar lebih sepertiArray.from(document.querySelectorAll(selector))
. Ini berarti bahwa metode array sepertimap
dan teman, tidak hanyaforEach
, tersedia saat digunakan$$
yang sebenarnya cukup berguna.sumber
Bisa apa saja, seperti
$
nama variabel yang valid, sama sepertidollar
.Dari ECMAScript :
Identifier :: IdentifierName but not ReservedWord IdentifierName :: IdentifierStart IdentifierName IdentifierPart IdentifierStart :: UnicodeLetter $ _ \ UnicodeEscapeSequence
Solusi paling sederhana untuk melihat apa itu dan di mana itu didefinisikan mungkin akan mengetik
$()
dan meletakkan breakpoint pada baris ini.sumber
Hanya untuk melengkapi jawaban lain di sini, MooTools juga menggunakan
$
alias untukdocument.getElementById
.Itu memeriksa apakah
$
sudah diambil dan kemudian akan default kedocument.id
.sumber