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 przypadku jQueryzamiast $. W rzeczywistości $jest to tylko skrót do jQuery.
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ł normalny document.getElementById. Powinienem kapitał 'b'z 'by'? Powinienem kapitał 'i'od Id?Ciebie dostać dryfu. Ponieważ funkcje są obywatelami pierwszej klasy w JavaScript, zawsze możesz to zrobić:
var $ = document.getElementById; //freedom from document.getElementById!
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! :)
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ótem jQuery. (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).
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.
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) ;
wynik:
W dzisiejszych czasach jest tak wiele nowych pomysłów !!
Jest $()to skrócona wersja języka jQuery()używanego w bibliotece jQuery .
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 metoda jQuery.noConflict().
Oto przykład z dokumentacji jQuery :
<script src="other_lib.js"></script>
<script src="jquery.js"></script>
<script>
$.noConflict();
// Code that uses other library's $ can follow here.
</script>
Alternatywnie możesz również użyć podobnego
(function ($) {
// Code in which we know exactly what the meaning of $ is
} (jQuery));
Z dokumentacji jQuery opisującej jQuery Core Object :
Wielu programistów przedrostka $ przed nazwą zmiennych, które zawierają obiekty jQuery, aby ułatwić rozróżnienie. Nie ma nic magicznego w tej praktyce - po prostu pomaga niektórym ludziom śledzić, co zawierają różne zmienne.