在ASP中,<! - // - >意味着什么?

Gur*_*raj 1 html asp-classic

<script language="javascript">
    <!--    
             //some logic here 
    //-->
</script>
Run Code Online (Sandbox Code Playgroud)

什么<!-- //-->意思?.我认为他们是评论,然而,之前的双斜线 - >让我困惑.

Mar*_*c B 8

这与ASP无关.这是Javascript是新的时候的历史工具,并不是所有浏览器都支持.<!--是JS语言本身的合法组件,被视为"无所事事"命令.-->但是,它不是 JS的一部分,所以你必须使用适当的JS注释来逃避它,因此//-->

所有这些只是为了隐藏那些不了解<script>标签的stoneage/obsolete浏览器的JS代码.请记住,浏览器忽略了他们无法识别的标签.非JS浏览器会跳过<script>并开始以文本形式输出JS代码.因此评论序列.即使浏览器不理解<script>,</script>它也会理解HTML注释,并跳过所有代码.

例如,如果您在Netscape 1.0中加载了一个现代的启用JS的页面,并且具有以下内容:

<script>
  alert('hello, world!');
</script>
<foo>
  Hello again
</foo>
Run Code Online (Sandbox Code Playgroud)

然后你就不会得到警报,你实际上会看到

alert('hello, world!');Hello again
Run Code Online (Sandbox Code Playgroud)

在浏览器窗口中.但如果你有

<script>
<!--
   alert('hello, world!');
//-->
</script>
<foo>
   Hello again
</foo>
Run Code Online (Sandbox Code Playgroud)

那你只会看到

 Hello again
Run Code Online (Sandbox Code Playgroud)