在浏览器中使用JavaScript分为内联和外联两种方法,和CSS比较相似。
内联
外联
在external.js中,可以包含任何js代码,例如类的定义、方法函数等。相比之下,使用外联方法引用js文件可以做到更安全、代码更容易管理、节省资源开销。之所以能节省资源开销,是因为当两个页面同时使用一个js文件时,该js文件只会被下载一次,避免的相同代码重复下载增加页面的代码量。
网页中的JavaScript源代码一般放置在<head></head>区域,当写在<body></body>中时,一旦页面加载就会执行body中的JavaScript代码,无法人工控制代码的执行。如果需要页面加载时同时执行JavaScript方法,则需要在head中定义该方法,否则系统会报错。
JavaScript最初只有一种浏览器的支持,因此,需要一种方法将JavaScript代码隐藏在老的浏览器中,避免对JavaScript解析产生错误,这就是我们过去经常可以看到的,在代码前后加上<!--><//-->,在现在看来,这种方法已经没有必要了,一是因为使用外联方式引用JavaScript代码更加合适,二是当前主流浏览器对JavaScript的支持已经越来越多,当然也就能正确识别JavaScript代码。
在浏览网页时,当某张图片无法显示时,可以通过文字来替换它,当网页不支持某段JavaScript代码时,我们也能通过一种替代的方式来提醒用户自己的浏览器不支持JavaScript或禁止了JavaScript,即使用<noscript></noscript>,放置在body区域中。
随着XHTML(eXtensible HTML)标准的出现,<script>标签也出现了一些变化,过去我看到有的页面在<script>标签中使用languange属性,有的使用type属性,当时没怎么注意,其实后者正是XHTML出现后所定义的,可以为JavaScript设置mime类型为"text/javascript"。
XHTML带来的另外一个变化就是使用CDATA,使用CDATA可以在表达式中使用一些特殊字符,增强代码的可读性,避免使用"<"、">"来分别表示小于和大于。
代码中大于和引号均使用了我们常见的书写形式,避免了使用XML实体所带来的阅读上的困难。当然,这也存在旧的浏览器无法识别CDATA的问题,需要我们加入注释来隐藏CDATA标签。大家可以想到,最好的办法还是使用外联的方法使用JavaScript。
虽然部分浏览器还不完全支持XHTML,但我们应该尽量按照XHTML标准来书写代码,使得该标准能够获得更大更广泛的支持。
内联
<html>
<head>
<title>内联</title>
<script language="JavaScript">
function message() {
alert("Good Day !");
}
</script>
</head>
<body></body>
</html>
<head>
<title>内联</title>
<script language="JavaScript">
function message() {
alert("Good Day !");
}
</script>
</head>
<body></body>
</html>
外联
<html>
<head>
<title>外联</title>
<script language="JavaScript" src="../path/external.js"></script>
</head>
<body></body>
</html>
<head>
<title>外联</title>
<script language="JavaScript" src="../path/external.js"></script>
</head>
<body></body>
</html>
在external.js中,可以包含任何js代码,例如类的定义、方法函数等。相比之下,使用外联方法引用js文件可以做到更安全、代码更容易管理、节省资源开销。之所以能节省资源开销,是因为当两个页面同时使用一个js文件时,该js文件只会被下载一次,避免的相同代码重复下载增加页面的代码量。
网页中的JavaScript源代码一般放置在<head></head>区域,当写在<body></body>中时,一旦页面加载就会执行body中的JavaScript代码,无法人工控制代码的执行。如果需要页面加载时同时执行JavaScript方法,则需要在head中定义该方法,否则系统会报错。
JavaScript最初只有一种浏览器的支持,因此,需要一种方法将JavaScript代码隐藏在老的浏览器中,避免对JavaScript解析产生错误,这就是我们过去经常可以看到的,在代码前后加上<!--><//-->,在现在看来,这种方法已经没有必要了,一是因为使用外联方式引用JavaScript代码更加合适,二是当前主流浏览器对JavaScript的支持已经越来越多,当然也就能正确识别JavaScript代码。
在浏览网页时,当某张图片无法显示时,可以通过文字来替换它,当网页不支持某段JavaScript代码时,我们也能通过一种替代的方式来提醒用户自己的浏览器不支持JavaScript或禁止了JavaScript,即使用<noscript></noscript>,放置在body区域中。
随着XHTML(eXtensible HTML)标准的出现,<script>标签也出现了一些变化,过去我看到有的页面在<script>标签中使用languange属性,有的使用type属性,当时没怎么注意,其实后者正是XHTML出现后所定义的,可以为JavaScript设置mime类型为"text/javascript"。
XHTML带来的另外一个变化就是使用CDATA,使用CDATA可以在表达式中使用一些特殊字符,增强代码的可读性,避免使用"<"、">"来分别表示小于和大于。
<script type="text/javascript">
<![CDATA[
function comp(a, b) {
if (a > b)
alert("a is bigger than b");
else
alert("a is not bigger than b");
}
]]>
</script>
<![CDATA[
function comp(a, b) {
if (a > b)
alert("a is bigger than b");
else
alert("a is not bigger than b");
}
]]>
</script>
代码中大于和引号均使用了我们常见的书写形式,避免了使用XML实体所带来的阅读上的困难。当然,这也存在旧的浏览器无法识别CDATA的问题,需要我们加入注释来隐藏CDATA标签。大家可以想到,最好的办法还是使用外联的方法使用JavaScript。
<script type="text/javascript">
//<![CDATA[
function comp(a, b) {
if (a > b)
alert("a is bigger than b");
else
alert("a is not bigger than b");
}
//]]>
</script>
//<![CDATA[
function comp(a, b) {
if (a > b)
alert("a is bigger than b");
else
alert("a is not bigger than b");
}
//]]>
</script>
虽然部分浏览器还不完全支持XHTML,但我们应该尽量按照XHTML标准来书写代码,使得该标准能够获得更大更广泛的支持。