2010-07-30 60 views
3

我已经看过JavaScript标签功能使用了十多年了,并且从未问过为什么。在这段时间我看到的大多数教程中都会看到,但我通常会将其忽略掉......它似乎没有这样或那样的效果。任何人都可以启发我为什么使用它?为什么在javascript中使用“// - >”

如果它只是表示JavaScript函数的结束,那么右边的括号是不够的?如果是一系列功能,则使用结束脚本标记。

我怀疑我需要一个例子,但对于所有其他读者那里,也知道什么是对,这里的一些代码:提前



function helloWorld() { 
    document.write('Hello World'); 
} 
//--> 

谢谢!

+1

正如@ del.ave在他的回答中指出,相关做法是在注释中使用CDATA相反,我已经必须在过去使用,以便我的XHTML中的JavaScript通过验证。 – 2011-07-04 00:03:28

回答

4

回到过去,有些浏览器没有处理javascript,所以为了避免错误, HTML注释块“”中的JavaScript代码。

今天,XHTML标准说,你应该逃脱你的脚本一样

<script type="text/javascript"> 
<![CDATA[ 
... unescaped script content ... 
]]> 
</script> 

你不必这样做的HTML。请参阅:

http://www.w3.org/TR/xhtml1/ 
http://www.w3schools.com/tags/tag_script.asp 
+0

非常感谢;这就是我正在寻找的答案。我很抱歉没有及早回复你。 =) – Justin 2011-08-02 19:03:34

3

这是注释掉代码,所以不支持JS的传统浏览器不会看到它。
现在这可能几乎没用。

请注意,它在开始时也需要一个<!--以使其成为评论。

阅读:http://lachy.id.au/log/2005/05/script-comments

+1

*非常*无用,丑陋。 – MvanGeest 2010-07-30 13:14:26

+1

该教程并没有告诉我这是无用的,并且让我非常想知道如何在非js浏览器中的脚本开始处隐藏两个斜线,如'// <! - script ...// - >除了向用户显示并打破我的其他精彩页面(在黄色背景上带有跑马灯和其他酷红文字)之外,非js浏览器会如何处理? – Amarghosh 2010-07-30 13:20:17

1

如果你发现,你也可以平时脚本之前看到一个<!--

该语法被使用,因此不支持Javascript的浏览器将忽略这些脚本的主体。

事实上,在HTML中,任何被包围<!---->被认为是评论

10

这是一个从没有时JS支持的浏览器是相当常见的日子缓缴。如果您直接在HTML文件中包含JS代码,则应在代码周围包含HTML注释标记(<!-- -->),以便这些浏览器不会将其显示为页面的一部分。 // -->的原因是这样的浏览器支持JS没有尝试解释结束的HTML评论作为JS代码的一部分。

+0

非常感谢!我很抱歉没有及时回复。 – Justin 2011-08-02 19:04:03

1

如果您正在验证您的html代码,这也很有用,所以js不会显示为无效的html标记。正如大家提到的那样,它已经过时了。我个人尝试永远不会有内联的JavaScript,总是在可以缓存的外部文件中,这使得这种编码风格无用

1
  1. 对于不理解JavaScript或者JavaScript是手动关闭这些开始<!--和结束html_comment_tags -->将有助于脚本>/? < &^% #) ! - (内bad_data被注释掉
  2. 如果浏览器浏览器可以理解JavaScripts,它不会解析最后的comment_ending标记-->,因为//放在html_comment_end标记-->之前,并且如果浏览器不明白javascript的注释标记(仅仅是因为jscript被关闭)的含义,那么这显然解析在通常的方式-->和注释掉一切<script></script>里面包括//
相关问题