W poniższym kodzie JavaScript znajduje się znak dolara ( $
). Co to znaczy?
$(window).bind('load', function() {
$('img.protect').protectImage();
});
javascript
coderex
źródło
źródło
Odpowiedzi:
Twój fragment kodu wygląda tak, jakby odwoływał się do metod z jednej z popularnych bibliotek JavaScript (jQuery, ProtoType, mooTools i tak dalej).
W
$
JavaScript nie ma nic tajemniczego .$
jest po prostu prawidłowym identyfikatorem JavaScript.JavaScript dopuszcza duże i małe litery, cyfry
$
i_
.$
Miał być stosowany dla zmiennych generowanych przez komputer (np$0001
).Prototype, jQuery i większość bibliotek javascript używa
$
jako podstawowego obiektu podstawowego (lub funkcji). Większość z nich ma również sposób na rezygnację z$
tego, aby można go było używać z inną biblioteką, która go używa. W takim przypadkujQuery
zamiast$
. W rzeczywistości$
jest to tylko skrót dojQuery
.źródło
Z innej odpowiedzi :
Trochę historii
Pamiętaj, nie ma w tym nic specjalnego
$
. Jest to nazwa zmiennej, jak każda inna. Wcześniej ludzie pisali kod za pomocą document.getElementById. Ponieważ JavaScript rozróżnia wielkość liter, błąd podczas pisania był normalnydocument.getElementById
. Powinienem kapitał'b'
z'by'
? Powinienem kapitał'i'
odId?
Ciebie dostać dryfu. Ponieważ funkcje są obywatelami pierwszej klasy w JavaScript, zawsze możesz to zrobić:Kiedy pojawiła się biblioteka Prototype, nazwali swoją funkcję, która pobiera elementy DOM, jako
'$'
. Prawie wszystkie biblioteki JavaScript skopiowały ten pomysł. Prototype wprowadził także$$
funkcję wyboru elementów za pomocą selektora CSS.jQuery również dostosował
$
funkcję, ale został rozszerzony, aby akceptował wszystkie rodzaje „selektorów”, aby uzyskać żądane elementy. Teraz, jeśli już używasz Prototype w swoim projekcie i chcesz dołączyć jQuery, będziesz miał problem, który'$'
może odnosić się do implementacji Prototype LUB implementacji jQuery. Dlatego jQuery ma opcję noConflict, dzięki czemu możesz uwzględnić jQuery w swoim projekcie, który używa Prototype i powoli migrować kod. Myślę, że to był genialny ruch ze strony Johna! :)źródło
var $ = document.getElementById;
nie działa w przeglądarce Firefox ani Google Chrome. Zamiast tego powinieneś użyćfunction $(id) { return document.getElementById(id); }
. Więcej informacji można znaleźć pod adresem stackoverflow.com/questions/1007340 .Najprawdopodobniej jest to kod jQuery (a dokładniej JavaScript wykorzystujący bibliotekę jQuery).
$
Reprezentuje funkcji jQuery , i jest w rzeczywistości alias skrótemjQuery
. (W przeciwieństwie do większości języków$
symbol nie jest zarezerwowany i może być używany jako nazwa zmiennej). Zwykle jest używany jako selektor (tj. Funkcja zwracająca zestaw elementów znalezionych w DOM).źródło
Jak mówią wszystkie inne odpowiedzi; może to być prawie wszystko, ale zwykle jest to „JQuery”.
Jednak w ES6 jest to operator interpolacji ciągów w szablonie „dosłownie” np.
wynik:
źródło
Jest
$()
to skrócona wersja językajQuery()
używanego w bibliotece jQuery .źródło
Oprócz powyższych odpowiedzi,
$
nie ma specjalnego znaczenia w javascript, można go używać w nazewnictwie obiektów. W jQuery , to jest po prostu używany jako alias jQuery przedmiotu i jQuery () funkcji. Możesz jednak napotkać sytuacje, w których będziesz chciał użyć go w połączeniu z inną biblioteką JS, która również używa $, co spowodowałoby konflikt nazw. Z tego powodu w JQuery jest metodajQuery.noConflict()
.Oto przykład z dokumentacji jQuery :
Alternatywnie możesz również użyć podobnego
Ref : https://api.jquery.com/jquery.noconflict/
źródło
Z dokumentacji jQuery opisującej jQuery Core Object :
źródło