Dollartecknet ($)och understrecket (_) -tecken är JavaScript identifierare, vilket bara betyder att de identifierar ett objekt på samma sätt som ett namn skulle. Objekten de identifierar inkluderar saker som variabler, funktioner, egenskaper, händelser och objekt.
Av denna anledning behandlas inte dessa tecken på samma sätt som andra specialsymboler. Istället behandlar JavaScript $ och _ som om de var bokstäver i alfabetet.
En JavaScript-identifierare - igen, bara ett namn för alla objekt - måste börja med en liten eller liten bokstav, understruk (_) eller dollartecken ($); efterföljande tecken kan också inkludera siffror (0-9). Överallt där ett alfabetiskt tecken är tillåtet i JavaScript finns 54 möjliga bokstäver tillgängliga: alla små bokstäver (a till och med z), alla stora bokstäver (A till och med Z), $ och _.
Dollartecknet används ofta som en genväg till funktionen document.getElementById (). Eftersom den här funktionen är ganska ordbok och används ofta i JavaScript, är $ har länge använts som dess alias, och många av de bibliotek som är tillgängliga för användning med JavaScript skapar en $ () -funktion som refererar till ett element från DOM om du skickar det id för det elementet.
Det handlar ingenting om $ det kräver dock att det används på detta sätt. Men det har varit konventionen, även om det inte finns något i språket att verkställa det.
Dollartecknet $ valdes för funktionsnamnet av det första av dessa bibliotek eftersom det är ett kort enteckenord och $ var minst troligt att användas av sig själv som ett funktionsnamn och därför minst troligt att kollidera med annan kod på sidan.
Nu tillhandahåller flera bibliotek sina egna versioner av $ () funktion, så många erbjuder nu möjligheten att stänga av den definitionen för att undvika kollisioner.
Naturligtvis behöver du inte använda ett bibliotek för att kunna använda $ (). Allt du behöver ersätta $ () för document.getElementById () är att lägga till en definition av $ () fungera enligt din kod enligt följande:
funktion $ (x) return document.getElementById (x);
En konvention har också utvecklats om användningen av _, som ofta används för att förordna namnet på ett objekts egendom eller metod som är privat. Detta är ett snabbt och enkelt sätt att omedelbart identifiera en privat klassmedlem, och den är så utbredd att nästan alla programmerare kommer att känna igen den.
Detta är särskilt användbart i JavaScript eftersom definiering av fält som privat eller offentligt görs utan användning av privat och offentlig nyckelord (åtminstone är detta sant i versionerna av JavaScript som används i webbläsare - JavaScript 2.0 tillåter dessa nyckelord).
Observera att igen, som med $, användningen av _ är bara en konvention och verkställs inte av JavaScript själv. När det gäller JavaScript, $ och _ är bara vanliga bokstäver i alfabetet.
Naturligtvis denna specialbehandling av $ och _ gäller endast inom JavaScript. När du testar för alfabetiska tecken i data, behandlas de som specialtecken som inte skiljer sig från någon av de andra specialtecknen.