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