Quando ho digitato questo frammento apparentemente innocente di codice:Qual è la parola chiave `name` in JavaScript?
values.name
gedit evidenziato nome come parola chiave. Tuttavia, il nome non è elencato dalle pagine collegate a an answer to a question about reserved keywords. Ho anche fatto un paio di test banali in SpiderMonkey, ma il nome sembrava comportarsi come un identificatore ordinario.
Una ricerca Google non mi ha detto molto. Tuttavia, ho trovato a page listing name in "Other JavaScript Keywords". La mia ipotesi è che il nome sia una funzione o un membro di qualche elemento DOM e non si intrometta nello spazio dei nomi.
nome davvero una parola chiave in JavaScript? Se sì, cosa fa?
'name' è (era) utilizzato come attributo dell'elemento' a', quindi potrebbe verificarsi nel codice DOM. Forse questo è il motivo per cui il tuo editor lo sta mettendo in evidenza. – Thomas
In realtà gedit mette in evidenza 'name' come proprietà. Ma nella classica combinazione di colori le proprietà e le parole chiave stanno usando la stessa definizione di stile. Poiché le funzionalità di analisi di gedit sono piuttosto limitate, anche se solo un piccolo insieme di importanti nomi di proprietà viene evidenziato con questo stile, ad esempio proprietà regexp come 'global',' source', 'lastIndex' e proprietà di funzione come' prototype', 'length 'e' nome'. – Robert
In chrome, il nome si comporta in modo strano come oggetto globale da localhost. All'interno di una funzione var name = '...' sta modificando il nome window.name originale e quindi 'nome; è disponibile al di fuori dell'ambito fn. Tuttavia, quando lo eseguo separatamente in console e Plunkr la sua visualizzazione non definita/o oggetto finestra originale. In IE si comporta in modo normale (cioè non definito/vuoto in localhost) – Amitesh