>  기사  >  웹 프론트엔드  >  콘솔 오류 객체에 대한 해결 방법은 기능이 아닙니다_기본 지식

콘솔 오류 객체에 대한 해결 방법은 기능이 아닙니다_기본 지식

WBOY
WBOY원래의
2016-05-16 16:38:491771검색

오늘 페이지의 기능을 사용할 수 없다는 버그가 보고되었습니다. 콘솔을 열고 오류를 찾으세요: 객체가 함수가 아닙니다.

이 기능은 최근에 터치되지 않았는데 갑자기 문제가 발생하는 이유는 무엇입니까? 모든 주요 브라우저는 온라인에 접속했을 때 테스트되었습니다.

이상하지만 그래도 문제는 해결됩니다. 코드를 살펴보면 라디오 객체의 name 속성이 함수 이름과 동일한 이름을 가지고 있음을 발견했습니다. 코드는 다음과 같습니다.

<body> 
<input type="radio" name="test" onclick="test();"/> 
<br/> 
<form action=""> 
<input type="radio" name="test" onclick="test();"/> 
</form> 
</body> 
<script type="text/javascript"> 
function test(){ 
alert("11"); 
}
</script>

함수 이름을 수정하여 문제를 해결했습니다. 하지만 함수 이름이 예전과 같아서 정상적으로 사용할 수 있었기 때문에 근본 원인을 찾을 수 없었습니다. 코드 수정
onclick="경고(테스트);"

"object HTMLInputElement"가 팝업되고 브라우저가 테스트를 dom 개체로 구문 분석하는 것을 발견했습니다.

스크립트 테스트 후에도 함수인 Alert(test);는 여전히 함수입니다.

svn 버전을 보니 다른 기능을 할 때 라디오를 마무리하는 폼을 추가한 것을 발견했습니다. 이로 인해 브라우저 구문 분석 오류가 발생합니다.

요약: 변경되지 않은 코드는 문제가 아닐 수도 있습니다. 변경으로 인해 다른 문제가 발생했을 수도 있습니다. 일부 브라우저 호환성 문제는 코드 불규칙으로 인해 발생합니다. 앞으로는 표준화된 방식으로 코드를 작성해야 합니다.

양식 추가 후 브라우저 파싱 문제가 발생하는 이유를 전문가가 아시는 분 계시면 알려주실 수 있나요? 매우 감사합니다!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.