Capisco che l'utilizzo di quella funzione farà in modo che l'intera stringa sia in minuscolo. Tuttavia, sono curioso nel lavoro dietro le quinte. Non riesco a trovare una spiegazione da nessuna parte su come funziona. Fa in pratica scorrere tutti gli indici nella stringa e controllare per vedere qual è il personaggio e se è disponibile un carattere minuscolo?Come funziona toLowerCase() in Javascript?
risposta
In generale, il posto migliore per cercare di tali informazioni è l'ECMAScript specification: sono presi
le seguenti operazioni:
- chiamata CheckObjectCoercible passando il questo valore come argomento.
- Sia S il risultato della chiamata a ToString, assegnandogli questo valore come argomento.
- Sia L una stringa in cui ogni carattere di L è l'equivalente in lettere minuscole Unicode del carattere corrispondente di S o il carattere corrispondente effettivo di S se non esiste un equivalente minuscolo Unicode.
- ritorno L.
Ai fini di questa operazione, le unità di codice a 16 bit delle stringhe sono trattati come punti di codice Unicode nel Basic Multilingual Plane. I punti di codice surrogato vengono trasferiti direttamente da S a L senza alcuna mappatura.
Il risultato deve essere derivato in base ai mapping dei casi nel database dei caratteri Unicode (questo include esplicitamente non solo il file UnicodeData.txt, ma anche il file SpecialCasings.txt che lo accompagna in Unicode 2.1.8 e versioni successive).
Fase 3 è la parte che sei veramente interessato a. Come si può vedere, i dettagli di come "L" è prodotto sono fino alla realizzazione. Se sei interessato ad andare più in profondità, il prossimo posto da cercare sarebbe ad es. lo stesso V8 engine.
3. in realtà non sembra tutto specifico per l'implementazione: fa riferimento alle specifiche Unicode molto precise. Bene, tranne il fatto che ci sono più versioni Unicode, ovviamente ... – Luaan
@Luaan - Non specifica come si ottiene da 'S' a' L'. Specifica cosa 'L' dovrebbe essere ma non come arrivarci. –
Non penso che tu stia leggendo bene - dice esplicitamente di mappare ognuno dei caratteri in S al carattere equivalente in lettere minuscole secondo le regole unicode (mappature di involucro) a L. Quanto più semplice di una S [i] - > L [i] mappa puoi ottenere? – Luaan
- 1. ToLowerCase in Chrome vs Firefox
- 2. Perché non è il metodo toLowerCase(); funziona nel mio codice?
- 3. Perché Java Character.toUpperCase/toLowerCase non ha parametri Locale come String.toUpperCase/toLowerCase
- 4. JavaScript: come funziona Greasemonkey
- 5. È meglio confrontare le stringhe usando toLowerCase o toUpperCase in JavaScript?
- 6. twitter bootstrap typeahead (metodo 'toLowerCase' di undefined)
- 7. Come funziona la doppia esclamazione (!!) in javascript?
- 8. Come funziona l'uguaglianza delle stringhe in JavaScript?
- 9. Come funziona la "chiamata" in javascript?
- 10. funzione init in javascript e come funziona
- 11. Come funziona la costruzione di ~ [] in JavaScript?
- 12. jQuery utilizzo di contiene e toLowerCase()
- 13. Come funziona sort() di JavaScript?
- 14. Inheritance JavaScript o come funziona?
- 15. Limita l'azione di toLowerCase a parte di una stringa?
- 16. window.location.indexDa non funziona in Javascript
- 17. Javascript removeEventListener non funziona
- 18. JavaScript clearTimeout non funziona
- 19. Perché questo JavaScript funziona?
- 20. JSON.parse() non funziona in javascript in pentaho
- 21. Javascript toLocaleTimeString() non funziona
- 22. Javascript smoothscroll non funziona
- 23. Come funziona il compilatore dart javascript (dart2js)?
- 24. Javascript onload non funziona
- 25. Unchaught TypeError: Impossibile leggere la proprietà 'toLowerCase' di undefined
- 26. document.body.clientHeight non funziona? (JavaScript)
- 27. JavaScript terminaCome non funziona in IEv10?
- 28. Javascript window.open non funziona
- 29. Perché funziona? Riferimenti dell'oggetto in Javascript
- 30. Uso di Locales con Java toLowerCase() e toUpperCase()
La risposta sarà specifica per l'implementazione; alcuni possono semplicemente chiamare ad una biblioteca per fare la conversione per questo. –
[Questa pagina da MDN] (https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/String/toLowerCase) potrebbe essere d'aiuto. –