2015-05-16 4 views
8

stavo cercando un po 'di codice di base quando sono andato attraverso questo su Chrome strumenti di sviluppo di console:

enter image description here

La specifica del linguaggio dice che è possibile dichiarare una partenza variabile una lettera, $ o _.

Quindi, perché sta succedendo? È solo un bug o ha qualche altra giustificazione?
Perché non funziona la prima volta ma funziona quando si riassegna?

EDIT:

ho ricevuto commenti circa $ 1 a $ 4 stato riservato identificatori, ma io ancora non capisco il motivo per cui vengono assegnati esattamente la seconda volta (invece che la prima volta o non essere mai assegnato)

+7

forse la definizione $ 0-4 interferisce, https://developer.chrome.com/devtools/docs/commandline-api#0-4 – shakib

+5

È un identificatore riservato per Chrome DevTools. – Leo

+0

@shakib perché non aggiungere il commento come risposta? – ProllyGeek

risposta

3

Citando le devtools documentation

strumenti di sviluppo ricorda gli ultimi cinque elementi DOM (o JavaScript heap oggetti) che hai selezionato nella scheda (o il pannello Profili). Rende gli oggetti disponibili come $ 0, $ 1, $ 2, $ 3 e $ 4. $ 0 restituisce il più elemento o oggetto JavaScript recentemente selezionato, $ 1 restituisce il secondo selezionato per ultimo, e così via.

questi identificatori riservati si comporteranno in modo diverso dagli altri identificatori regolari nella console.

spero che questo aiuti.