JavaScript чувствителен к корпусу:
Ключевые слова, переменные, имена функций и все идентификаторы должны быть последовательными в верхнем и нижнем регистре (обычно мы пишем их в нижнем случае), что сильно отличается от метода написания мультитиля C#, когда я впервые узнал.
Например: (здесь мы принимаем переменные STR и STR в качестве примеров)
Кода -копия выглядит следующим образом:
var str = 'abc';
var str = 'abc';
Alert (str); // Вывод ABC
Если STR и STR являются одинаковой переменной, то Alert (STR);, выходной результат должен быть ABC вместо ABC, как показано на рисунке выше. Это просто показывает, что JavaScript чувствителен к корпусу.
Последовательность побега Unicode
Появление наборов символов Unicode состоит в том, чтобы наверстать ограничение, что код ASCII может представлять только 128 символов. Если мы хотим показать китайских иероглифы и японцев в повседневной жизни, очевидно, что ASCII невозможно. Таким образом, Unicode-это суперсет ASCII и латинского 1. Прежде всего, программы JavaScript написаны с помощью наборов символов Unicode, но они не могут быть полностью отображены или введены в какое -то компьютерное оборудование и программное обеспечение. Чтобы решить это явление, JavaScript определяет специальную последовательность, которая использует 6 символов ASCII для представления любого 16-битного внутреннего кода Unicode. Эта специальная последовательность в совокупности называется последовательности эвакуации Unicode, которая префиксируется /u и сопровождается 4 шестнадцатеричными числами.
например:
Кода -копия выглядит следующим образом:
var str = 'caf/u00e9';
var str = 'кафе';
Alert (str+''+str); // Вы можете видеть, что дисплей - тот же эффект.
Alert (str === str); // вывод true
Но мы должны отметить, что Unicode позволяет нескольким методам кодировать один и тот же символ и использовать приведенный выше пример Escape, чтобы проиллюстрировать:
é:
1. Это может быть представлено символами Unicode /U00E9
2. Это также может быть представлено E/U0301 (символ интонации)
Кода -копия выглядит следующим образом:
var str = 'caf/u00e9';
var str = 'Cafe/U0301';
оповещение (str+''+str); //, как показано на рисунке ниже, результаты, выводящие STR и STR, одинаковы
оповещение (str === str); // Результаты одинаковы, но их двоичные представления кодирования совершенно разные, поэтому вывод ложный
Хотя результаты, отображаемые в текстовом редакторе, одинаковы, их двоичные представления кодирования совершенно разные, и языки программирования в конечном итоге будут преобразованы в компьютерные механические коды (двоичные кодирования) локальной платформы. Компьютеры могут знать результаты только путем сравнения двоичных кодировки, поэтому конечный результат их сравнения может быть только ложным
Таким образом, это лучшее объяснение «Unicode позволяет нескольким методам кодировать один и тот же символ», потому что стандарт Unicode определяет предпочтительный формат кодирования для всех символов, чтобы облегчить превращение текста в последовательности побега Unicode в едином формате для соответствующего сравнения
Возьмите E в качестве примера снова:
Это то же самое, что сравнивать Facé с é в кафе?
Только сравнивая é в Facé и Café, преобразованные в /u00e9 или оба преобразуются в E /U0301, чтобы сравнить E -в Facé и Café