문제

Notepad++에서 JavaScript 파일을 작성 중인데 뭔가 작동하지 않았습니다.버튼을 클릭하면 경고가 표시되어야 했지만 작동하지 않았습니다.

저는 Notepad++와 함께 제공되는 자동 완성 플러그인을 사용했습니다. onClick.

수도를 바꾸었을 때 C 작은 c, 작동했습니다.

그래서 우선 자동완성 기능을 살펴보면 대문자를 사용한 기능이 많이 눈에 띄었습니다.

하지만 당신이 변할 때 getElementById 에게 getelementbyid, 당신도 오류가 발생하고 설상가상으로 학교에서 내 핸드북은 모든 내용을 대문자로 작성하지만 해결 방법은 모두 소문자로 수행됩니다.

그렇다면 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);

다른 팁

일부/대부분/모든 ActiveX를 포함하여 일부 객체는 IE가 항상 대/소문자를 구분하지 않습니다. 왜 둘 다입니까? XHR.onReadyStateChange 그리고 XHR.onreadystatechange IE5나 IE6에서는 잘 작동하지만, 네이티브 버전에서는 후자만 작동합니다. XMLHttp요청 IE7, FF 등의 객체

하지만 "에 대한 빠른 참조는 다음과 같습니다.기준" API 케이스:

  • 대문자 - 상수(일반적으로 기호이므로 const 전 세계적으로 지원되지 않음)
  • 대문자로 표기 - 클래스/객체 함수
  • 소문자 - 이벤트
  • 낙타 케이스 - 그 밖의 모든 것

100% 보장은 없습니다.그러나 대다수의 관점에서는 이것이 정확합니다.

JavaScript API 메소드는 거의 모두 다음과 같이 호출됩니다. lower낙타케이스 이름, JavaScript는 대소문자를 구분합니다.

자바스크립트 ~해야 한다 항상 대소문자를 구분해야 하지만 Internet Explorer에서 일부 함수 이름에는 대문자만 허용되고 다른 함수 이름에는 허용되지 않는 경우를 본 적이 있습니다.인터프리터 사이에 이상한 근친교배가 있기 때문에 Visual Basic에도 존재하는 함수로 제한된다고 생각합니다.물론 하나의 브라우저에서만 실행되는 코드를 만드는 것이 아니라면 이 동작은 피해야 합니다. :)

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top