首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我需要帮助破解这个javascript

问我需要帮助破解这个javascript
EN

Stack Overflow用户
提问于 2013-11-26 01:18:29
回答 2查看 84关注 0票数 1

在一段HTML代码的开头,我发现了以下内容:

代码语言:javascript
复制
<body><script type="text/javascript" language="javascript1.2">//<![CDATA[
<!--
     ...a bunch of if/thens that drive a browser specific line of text...
//-->
//]]></script>

我之所以感到困惑,是因为我希望HTML注释标记<!-- -->和//会阻止代码运行,本质上是解析到

<body><script type="text/javascript" language="javascript1.2"></script>

但是,我正在显示特定于浏览器的文本,并且似乎没有任何其他地方正在生成它。<![CDATA[是否以某种方式覆盖了javascript注释,允许脚本运行,而CDATA块中的HTML注释阻止了javascript在浏览器中显示?有人能帮我理解这些信息是如何被解析和显示/使用的吗?

EN

回答 2

Stack Overflow用户

发布于 2013-11-26 01:30:15

<!-- -->仅用于HTML注释,不用于javascript注释。Javascript对单行注释使用//,对多行注释使用/* */。如果你在javascript中使用<!-- -->,它通常会被忽略。一些浏览器可能会抛出一个javascript错误。

票数 1
EN

Stack Overflow用户

发布于 2013-11-26 01:37:51

这允许在JS代码中编写任意字符,包括字符,这些字符被视为XML的特殊符号,如'<‘、'>’等。

-->注释end - JavaScript在//中没有任何意义,这就是为什么它前面有//的原因。

此处使用HTML注释向不支持JavaScript的浏览器隐藏JavaScript代码。对于这些浏览器,代码将只是<!--和-->之间的文本,不会显示在页面上。

以这种方式进行评论是一种非常古老的做法。

在任何情况下,最好是将所有JavaScript代码放在单独的文件中,并使用<script>标记包含该文件。这样就可以避免同时使用CDATA和HTML注释。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20199186

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档