2013-09-03 2 views
-7

아래 코드처럼 ' <! - ' 즉각 코드가 실행되지 않습니다. ' <! - ' 뒤에 줄 바꿈을 추가 할 경우 잘 실행하십시오. 이 자바 스크립트 사양은 무엇입니까?에 대한 자바 스크립트 설명 사양

<html> 
<body> 
<script type="text/javascript"> 
<!--document.write("TEST1"); // <- don't execute. In case of adding line break, execute well. 
document.write("TEST2"); 
//--> 
</script> 
</body> 
</html> 
+0

왜 거기에' zerkms

+0

// 또는 /*...**/ 사용하여 주석 달기 ... gks

+0

'

답변

0

<!--//과 유사하게 동작하기 때문에이 문제가 발생 즉이 같은 줄에 이후에만 모든 것을 코멘트 : 다음과 같이 JS 더 적합 주석 시스템이다. JS는 HTML 주석 블록의 닫는 부분 (-->)을 인식하지 못합니다. 심지어 당신이 당신의 발췌 문장에서 그것을 주석 처리했기 때문에 이것을 알 수있는 것처럼 보입니다.

원래이 주석 방법은 JS 및 script 태그를 지원하지 않는 브라우저에서 스크립트를 숨기는 데 사용되었습니다. 대신 그들은 페이지에 script 태그의 내용을 보여 주었고 스크립트 텍스트가 페이지에 표시되지 않도록 HTML 주석이 필요했습니다.

+0

. 고맙습니다. – shinjukujohnny

+0

@ JohnnyHK 다른 답변에서 알 수 있듯이 스크립트에 주석을 달 수있는 "수용 가능한"방법을 사용할 수 있습니다. 문제가 해결되었다고 생각하면이 대답을 수락 할 수도 있습니다. – Teemu

0

첫 번째 부분은 실행되지하려면 "표시"이유는, document.write 당신이 전달하는 문자열 문서의 전체 내용을 대체한다는 것이다.

마찬가지로, document.write에 대한 두 번째 호출은 첫 번째 오버라이드입니다. 또한 것과

는 자바 스크립트 SGML 주석의 사용 (<!--는) 즉 더 이상 필요 브라우저 없다, 오래된, 이전, 오래된 학교 기술이다. 다른 사람들이 말했듯이 자바 스크립트에서 C와 비슷한 주석을 사용할 수 있습니다 (/* comment */ 또는 // end-of-line comment).

+0

OP의 코드는 구문 분석시에 실행되므로'document.write()'는 문서의 내용을 지우지 않습니다. – Teemu

0

<!-- 스 니펫은 일반적으로 최신 웹의 HTML 코드에만 사용됩니다. 이것을 <script> 섹션 또는 JavaScript 섹션에 배치하면 구문 오류로 평가 될 수 있습니다.

// one line comment 

/* multi 
    line 
    comment 
*/ 
+1

틀린,' Teemu

+0

우수한 점. 시스템이 작동하는 동안, 그것은 매우 고풍이다. 내 말은, – Bryce