Pregunta

En el Bloc de notas++, yo estaba escribiendo un archivo JavaScript y algo no funciona:una alerta tenía que ser mostrado cuando un botón se hizo clic, pero no estaba funcionando.

Me ha utilizado la opción de auto-completar plugin siempre con el Notepad++, que me presentó con onClick.

Cuando cambié la capital C para un pequeño c, que funcionó.

Así, en primer lugar, cuando se mira en las funciones de la auto-realización, me di cuenta de un montón de funciones uso de capitales.

Pero al cambiar getElementById a getelementbyid, usted también consigue un error, y para empeorar las cosas, mi manual de la escuela escribe todas las cosas, con letras mayúsculas, pero las soluciones están todos hechos en letras pequeñas.

Entonces, ¿qué es con JavaScript y su carácter selectivo hacia qué funciones puede tener letras mayúsculas en ellos y que no se puede?

¿Fue útil?

Solución

Javascript es SIEMPRE sensible a mayúsculas, html no es.

Suena como el pensamiento de usted están hablando acerca de si los atributos de html (por ejemplo,onclick) son o no son sensibles a mayúsculas y minúsculas.La respuesta es que los atributos no son sensibles a mayúsculas, pero la forma en la que accedemos a ellos a través de la DOM.Así, usted puede hacer esto:

<div id='divYo' onClick="alert('yo!');">Say Yo</div> // Upper-case 'C'

o:

<div id='divYo' onclick="alert('yo!');">Say Yo</div> // Lower-case 'C'

pero a través de la DOM debe utilizar el caso correcto.Así funciona esto:

getElementById('divYo').onclick = function() { alert('yo!'); }; // Lower-case 'C'

pero usted no puede hacer esto:

getElementById('divYo').onClick = function() { alert('yo!'); }; // Upper-case 'C'

EDITAR:CMS hace un gran punto de que la mayoría de los métodos de DOM y propiedades están en camelCase.La única excepción que viene a la mente son el controlador de eventos de propiedades y estos son generalmente aceptados para ser el camino equivocado para adjuntar a los eventos de todos modos.Prefieren el uso de addEventListener como en:

document.getElementById('divYo').addEventListener('click', modifyText, false);

Otros consejos

Un par de objetos de IE no siempre son sensibles a las mayúsculas, incluyendo algunos/más/todos los ActiveX - ¿por qué tanto XHR.onReadyStateChange y XHR.onreadystatechange funcionaría bien en IE5 o IE6, pero sólo el último trabajo con los nativos XMLHttpRequest objeto en IE7, FF, etc.

Pero, una referencia rápida para los "estándar"API de la carcasa:

  • MAYÚSCULAS - Constantes (generalmente simbólico, ya que const no es globalmente compatible)
  • En mayúsculas - Clases/funciones de Objeto
  • minúsculas - Eventos
  • camelCase - todo lo demás

No hay un 100% de garantías.Pero, la mayoría de los sabios, esto es exacto.

El API de JavaScript métodos son casi todos los que se llama con lowerCamelCase nombres y JavaScript es sensible a mayúsculas

Javascript debe siempre sensible a mayúsculas y minúsculas, pero he visto casos en el Explorador de Internet donde se tolera todas las mayúsculas para algunos de los nombres de función, pero no en otros.Creo que está limitado a las funciones que también existe en Visual Basic, ya que hay algunos impar de consanguinidad entre los intérpretes.Claramente este comportamiento se debe evitar, a menos que tu intención es hacer un código que sólo se ejecuta en un navegador :)

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top