Dalam kode JavaScript berikut ada tanda dolar ( $
). Apa artinya?
$(window).bind('load', function() {
$('img.protect').protectImage();
});
javascript
coderex
sumber
sumber
Jawaban:
Cuplikan kode Anda sepertinya adalah metode referensi dari salah satu pustaka JavaScript yang populer (jQuery, ProtoType, mooTools, dan sebagainya).
Tidak ada yang misterius tentang penggunaan
$
dalam JavaScript.$
hanyalah pengidentifikasi JavaScript yang valid.JavaScript memungkinkan huruf besar dan kecil, angka, dan
$
dan_
. Itu$
dimaksudkan untuk digunakan untuk variabel yang dihasilkan mesin (seperti$0001
).Prototipe, jQuery, dan sebagian besar pustaka javascript menggunakan
$
sebagai objek dasar (atau fungsi). Sebagian besar dari mereka juga memiliki cara untuk melepaskannya$
sehingga dapat digunakan dengan perpustakaan lain yang menggunakannya. Dalam hal ini Anda menggunakanjQuery
bukan$
. Padahal,$
ini hanya jalan pintas untukjQuery
.sumber
Dari jawaban lain :
Sedikit sejarah
Ingat, pada dasarnya tidak ada yang spesial
$
. Ini adalah nama variabel seperti yang lainnya. Pada hari-hari sebelumnya, orang biasa menulis kode menggunakan document.getElementById. Karena JavaScript peka terhadap huruf besar-kecil, wajar untuk membuat kesalahan saat menulisdocument.getElementById
. Haruskah Aku modal'b'
dari'by'
? Haruskah Aku modal'i'
dariId?
Anda mendapatkan arus. Karena fungsi adalah warga negara kelas satu dalam JavaScript, Anda selalu dapat melakukan ini:Ketika perpustakaan Prototipe tiba, mereka menamai fungsinya, yang mendapat elemen DOM, sebagai
'$'
. Hampir semua perpustakaan JavaScript menyalin ide ini. Prototipe juga memperkenalkan$$
fungsi untuk memilih elemen menggunakan pemilih CSS.jQuery juga mengadaptasi
$
fungsi tetapi diperluas untuk membuatnya menerima semua jenis 'penyeleksi' untuk mendapatkan elemen yang Anda inginkan. Sekarang, jika Anda sudah menggunakan Prototipe dalam proyek Anda dan ingin memasukkan jQuery, Anda akan berada dalam masalah karena'$'
bisa merujuk ke implementasi Prototipe ATAU implementasi jQuery. Itu sebabnya jQuery memiliki opsi noConflict sehingga Anda dapat memasukkan jQuery dalam proyek Anda yang menggunakan Prototipe dan secara perlahan memigrasikan kode Anda. Saya pikir ini adalah langkah brilian dari pihak John! :)sumber
var $ = document.getElementById;
tidak berfungsi di Firefox atau Google Chrome. Anda harus menggunakannyafunction $(id) { return document.getElementById(id); }
sebagai gantinya. Lihat stackoverflow.com/questions/1007340 untuk informasi lebih lanjut.Itu kemungkinan besar kode jQuery (lebih tepatnya, JavaScript menggunakan perpustakaan jQuery).
Yang
$
mewakili Fungsi jQuery , dan sebenarnya adalah alias singkatan untukjQuery
. (Tidak seperti di sebagian besar bahasa,$
simbol tidak dicadangkan, dan dapat digunakan sebagai nama variabel.) Biasanya digunakan sebagai pemilih (yaitu fungsi yang mengembalikan sekumpulan elemen yang ditemukan di DOM).sumber
Seperti semua jawaban lainnya katakan; bisa hampir apa saja tetapi biasanya "JQuery".
Namun, dalam ES6 itu adalah operator interpolasi string dalam template "literal" misalnya.
hasil:
sumber
Ini
$()
adalah versi singkat darijQuery()
digunakan di Perpustakaan jQuery .sumber
Selain jawaban di atas,
$
tidak memiliki arti khusus dalam javascript, bebas untuk digunakan dalam penamaan objek. Dalam jQuery , itu hanya digunakan sebagai alias untuk jQuery objek dan jQuery () fungsi. Namun, Anda mungkin menghadapi situasi di mana Anda ingin menggunakannya bersama dengan pustaka JS lain yang juga menggunakan $, yang akan menghasilkan konflik penamaan. Ada metode di JQuery hanya untuk alasan ini,jQuery.noConflict()
,.Berikut adalah contoh dari jQuery doc's:
Atau, Anda juga dapat menggunakan yang seperti ini
Ref : https://api.jquery.com/jquery.noconflict/
sumber
Dari dokumentasi jQuery yang menguraikan objek Inti jQuery :
sumber