一、常见问题
9. JavaScript的注释(Comments in JavaScript)
Q:我如何在JavaScript代码中插入注释?
A: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
<!-- 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
HTML样式的注释在JavaScript代码中并不常见。(//引导的单行注释更简单也更易读)。不过,强烈建议使用HTML注释将JavaScript代码从旧版本浏览器中隐藏。
10. 从旧版浏览器中隐藏JS代码 (Hidding JS code from old browsers)
Q:我如何从不支持JavaScript的旧版中隐藏JS代码?
A:为了阻止旧版浏览器显示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代码中的第一行和最后一行当做单行注释)。
11. JavaScript可用吗?(Is JavaScript enabled?)
Q:如何用户的浏览器不能执行JavaScript代码,我可以给用户一个警告吗?
A:当然,你可以给那些使用不兼容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。)
12. 外部JavaScript文件(External JS Files)
Q:我可以从外部引入JS文件,而不是把所有的脚本都在HTML页面中吗?
A:可以。你可以创建一个后缀名为.js的文件,例如,myscipt.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文件。
13. JavaScript中的保留字(Reserved words in JavaScript)
Q:JavaScript中有哪些保留字呢?
A: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 |