1. En JS, « a » occupe-t-il 2 octets ou 1 octet en mémoire ? JS est codé en UCS-2, il devrait donc occuper 2 octets, n'est-ce pas ?
2. Les chaînes JS sont-elles codées de la même manière dans différents moteurs ?
3. En JS, comment une chaîne représente-t-elle la "fin" en mémoire ? Est-il nécessaire d'ajouter un?
Objet global String
Lisez d'abord la documentation~
Laissez-moi répondre à ce que je sais :
1) La lettre a (la première minuscule en anglais) occupe deux octets. JS utilise UCS-2, mais elle a ensuite été compatible avec UTF16.
.Mais certains mots rares ne font pas nécessairement 2 octets, mais peuvent être multiples. Pour des connaissances pertinentes, vous pouvez trouver l'explication de Ruan Yifeng sur la connaissance des cordes. Il est également recommandé de la lire
.Regardez les entrées pertinentes dans le Wiki et référez-vous aux liens de référence ci-dessous (principalement des documents provenant d'organismes de normalisation).
2) L'encodage est stipulé par l'ECMA et est le même. En tant que langage de script, son encodage est déterminé par le document ECMA.
3) Ceci est lié au moteur.
Vous pouvez vous référer à la réponse à cette question
https://www.zhihu.com/questio...