В Notepad ++ я писал файл JavaScript, и что-то не работало: при нажатии кнопки должно было отображаться предупреждение, но оно не работало.
Я использовал плагин автозаполнения, поставляемый с Notepad ++, который представил мне onClick.
Когда я сменил заглавную C на маленькую c, все заработало.
Итак, прежде всего, глядя на функции в автозаполнении, я заметил много функций, использующих заглавные буквы.
Но когда вы меняете getElementById на getelementbyid, вы также получаете ошибку, и, что еще хуже, мой школьный учебник пишет все вещи заглавными буквами, но все решения выполняются маленькими буквами.
Так что же с JavaScript и его избирательным характером в отношении того, какие функции могут иметь заглавные буквы, а какие нет?



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Javascript чувствителен к регистру ВСЕГДА, html - нет.
Звучит так, как будто вы говорите о том, являются ли атрибуты html (например, onclick) чувствительными к регистру или нет. Ответ заключается в том, что атрибуты не чувствительны к регистру, но есть способ доступа к ним через DOM. Итак, вы можете сделать это:
<div id='divYo' onClick = "alert('yo!');">Say Yo</div> // Upper-case 'C'
или же:
<div id='divYo' onclick = "alert('yo!');">Say Yo</div> // Lower-case 'C'
но через DOM вы должны использовать правильный регистр. Итак, это работает:
getElementById('divYo').onclick = function() { alert('yo!'); }; // Lower-case 'C'
но вы не можете этого сделать:
getElementById('divYo').onClick = function() { alert('yo!'); }; // Upper-case 'C'
Обновлено: CMS подчеркивает, что большинство методов и свойств DOM находятся в верблюд. Единственное исключение, которое приходит на ум, - это свойства обработчика событий, которые в любом случае обычно считаются неправильный способ привязки к событиям. Предпочитайте использовать addEventListener, как в:
document.getElementById('divYo').addEventListener('click', modifyText, false);
Почти все методы JavaScript API вызываются с именами lowerCamelCase, а JavaScript чувствителен к регистру.
Javascript должен всегда чувствителен к регистру, но я видел случаи в Internet Explorer, когда он допускал использование всего верхнего регистра для некоторых имен функций, но не для других. Я думаю, что это ограничено функциями, которые также существуют в Visual Basic, так как между интерпретаторами существует странное инбридинг. Ясно, что этого поведения следует избегать, если, конечно, вы не собираетесь делать код, который работает только в одном браузере :)
Некоторые объекты IE не всегда чувствительны к регистру, включая некоторые / большинство / все ActiveX - почему и XHR.onReadyStateChange, и XHR.onreadystatechange будут нормально работать в IE5 или IE6, но только последний будет работать с собственным объектом XMLHttpRequest в IE7, FF , так далее.
Но, краткий справочник по корпусу API "стандарт":
Никаких 100% гарантий. Но в большинстве случаев это верно.
Было бы неплохо прямо упомянуть, что атрибуты и свойства не связаны строго. Атрибут значения input указывает только то, каким он должен быть при инициализации, тогда как свойство input имеет текущее значение. Атрибуты data- * связаны с elem.dataset [*], но, в отличие от атрибута value, набор данных синхронизируется в обоих направлениях (при установке на стороне javascript для атрибута устанавливается значение, возвращаемое методом toString). Некоторые вещи, такие как атрибут checked, могут отражать соответствующее свойство, которое необходимо для css для правильного стиля.