JavaScript 基础指南:注释、兼容性与保留字详解
本文详解 JavaScript 的三种注释方式、如何向旧版浏览器隐藏代码及使用 NOSCRIPT 标签提供友好提示。同时介绍外部 JS 文件的引入方法及浏览器兼容性注意事项,并完整列出 JavaScript 语言保留字及客户端对象属性名,帮助开发者避免命名冲突。
JavaScript 注释语法
9. JavaScript 的注释
问:如何在 JavaScript 代码中插入注释?
答:JavaScript 支持三种不同类型的注释语法:
第一种是类 C 的多行注释。位于 /* 和 */ 之间的所有内容均被视为注释,例如:
/* This is a comment */
/* C-style comments can span
as many lines as you like,
as shown in this example */
第二种是类 C++ 的单行注释。此类注释以 // 开头,直至该行结束:
// This is a one-line comment
第三种是使用 HTML 注释起始符(<!--)引导的单行注释。需注意,JavaScript 解释器会忽略 HTML 注释的结束符(-->)。参考以下示例:
<!-- This is treated as a one-line JS comment
<!-- It works just like a comment beginning with //
<!-- --> This is also a one-line JS comment
<!-- --> because JS ignores the closing characters
<!-- --> of HTML-style comments
在 JavaScript 代码中使用 HTML 样式的注释并不常见(使用 // 引导的单行注释更为简洁易读)。不过,强烈建议采用 HTML 注释方式将 JavaScript 代码从旧版本浏览器中隐藏。
兼容旧版浏览器的代码隐藏策略
10. 从旧版浏览器中隐藏 JavaScript 代码
问:如何从不支持 JavaScript 的旧版浏览器中隐藏 JS 代码?
答:为防止旧版浏览器直接显示 JS 源代码,可采用以下方法:
在起始 <script> 标签后立即添加一行没有结束符的 HTML 注释起始符,这样脚本的前两行应如下所示:
<script language="JavaScript">
<!--
在脚本末尾添加以下两行代码:
//-->
</script>
此时,你的 HTML 文件将包含如下代码段:
<script language="JavaScript">
<!--
Here you put your JS code.
Old browsers will treat it
as an HTML comment.
//-->
</script>
旧版本浏览器会将 JS 代码视为一个长的 HTML 注释。另一方面,支持 JavaScript 的浏览器会正常解释 <script> 和 </script> 之间的 JS 代码(解释器会将 JS 代码中的第一行和最后一行视为单行注释)。
检测 JavaScript 启用状态
11. 检测 JavaScript 是否可用
问:如果用户的浏览器无法执行 JavaScript 代码,我可以给用户显示警告吗?
答:当然可以。你可以为那些使用不兼容 JavaScript 的浏览器用户显示特定的警告信息。将警告内容放置在 <NOSCRIPT> 和 </NOSCRIPT> 标签之间。示例如下:
<NOSCRIPT>
<H3>This page uses JavaScript</H3>
<ul>
<li>Please use Netscape Navigator 3+ or Internet Explorer 3+
<li>Make sure that JavaScript is enabled in your browser.
</ul>
</NOSCRIPT>
支持 JavaScript 的浏览器会忽略 <NOSCRIPT> 和 </NOSCRIPT> 之间的内容。无法执行 JavaScript 的浏览器则会在页面上显示该信息。
注意:Netscape Navigator 2 不支持 <NOSCRIPT> 标签。因此,这条消息对即使使用支持 JavaScript 的 Netscape 2 浏览器用户也是可见的。请牢记这一点,并合理措辞,以免误导 Netscape 2 用户(例如,上述信息假设你的脚本要求浏览器版本至少为 3)。
外部 JavaScript 文件的使用
12. 外部 JavaScript 文件
问:我可以从外部引入 JS 文件,而不是将所有脚本都写在 HTML 页面中吗?
答:可以。你可以创建一个后缀名为 .js 的文件,例如 myscript.js。将你的 JavaScript 代码放入该文件中;注意不要在 .js 文件中包含 <script> 或 </script> 标签。
要将 myscript.js 嵌入到网页中,需在 HTML 文件中使用以下标签:
<SCRIPT LANGUAGE="JavaScript" SRC="myscript.js">
</SCRIPT>
从实际角度来看,创建 .js 文件来保存 JavaScript 函数非常便捷,你可以在不同的 HTML 文件中重用这些函数。然而,请注意,一些旧版本浏览器(如 Navigator 2.x 和 Explorer 3.x)不会加载外部 JavaScript 文件。
JavaScript 保留字与客户端对象名
13. JavaScript 中的保留字
问:JavaScript 中有哪些保留字?
答:JavaScript 语言的保留字如下所列(其中一些在 JavaScript 语言中使用,而另一些保留是为了兼容或未来可能的扩展)。在选择 JavaScript 变量名时,请避免使用这些保留字!
abstract else instanceof switch
boolean enum int synchronized
break export interface this
byte extends long throw
case false native throws
catch final new transient
char finally null true
class float package try
const for private typeof
continue function protected var
debugger goto public void
default if return volatile
delete implements short while
do import static with
double in super
除了上述保留字外,最好也避免以下标识符作为 JavaScript 变量名。这些是 Netscape Navigator 或 Internet Explorer 中客户端对象、方法或属性的名称。
alert hidden outerWidth
all history packages
anchor image pageXOffset
anchors images pageYOffset
area isNaN parent
array java parseFloat
assign JavaArray parseInt
blur JavaClass password
button JavaObject pkcs11
checkbox JavaPackage plugin
clearTimeout innerHeight prompt
clientInformation innerWidth prototype
close layer radio
closed layers reset
confirm length screenX
crypto link screenY
date location scroll
defaultStatus Math secure
document mimeTypes select
element name self
elements navigate setTimeout
embed navigator status
embeds netscape String
escape Number submit
eval Object sun
event offscreenBuffering taint
fileUpload onblur text
focus onerror textarea
form onfocus top
forms onload toString
frame onunload unescape
frames open untaint
frameRate opener valueOf
function option window
getClass outerHeight
JavaScript入门书籍避坑:这些书不适合初学者
2026-11-05 16:31:15
JS使用Math.round实现保留两位小数的原理与代码
2026-11-05 15:35:55
JavaScript 原生 Date 对象怎么实现日期加减
2026-11-05 14:30:00
JavaScript函数定义的三种方式:声明、表达式与箭头函数
2026-11-05 13:50:55
JavaScript中escape、encodeURI和encodeURIComponent对空格的处理差异
2026-11-05 12:47:23
