浏览器中的 JavaScript

    作者:Flyingis

    之前写过不少JavaScript基础的随笔,基本上都是针对其语法、语言结构来论述的。但是,现在使用JavaScript最多的地方是在浏览器中,这里就简单谈谈浏览器中使用JavaScript。

    在浏览器中使用JavaScript分为内联和外联两种方法,和CSS比较相似。

    内联

None.gif < html >
None.gif
< head >
None.gif
< title > 内联 </ title >
ExpandedBlockStart.gifContractedBlock.gif
< script  language ="JavaScript" > dot.gif
ExpandedSubBlockStart.gifContractedSubBlock.gif  
function message() dot.gif{
InBlock.gif    alert(
"Good Day !");
ExpandedBlockEnd.gif  }

None.gif
</ script >
None.gif
</ head >
None.gif
< body ></ body >
None.gif
</ html >

    外联

None.gif < html >
None.gif
< head >
None.gif
< title > 外联 </ title >
None.gif
< script  language ="JavaScript"  src ="../path/external.js" ></ script >
None.gif
</ head >
None.gif
< body ></ body >
None.gif
</ 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可以在表达式中使用一些特殊字符,增强代码的可读性,避免使用"&lt"、"&gt"来分别表示小于和大于。

ExpandedBlockStart.gif ContractedBlock.gif < script  type ="text/javascript" > dot.gif
InBlock.gif
<![CDATA[
ExpandedSubBlockStart.gifContractedSubBlock.gif  
function comp(a, b) dot.gif{
InBlock.gif    
if (a > b)
InBlock.gif      alert(
"a is bigger than b");
InBlock.gif    
else
InBlock.gif      alert(
"a is not bigger than b");
ExpandedSubBlockEnd.gif  }

ExpandedBlockEnd.gif]]
>
None.gif
</ script >

    代码中大于和引号均使用了我们常见的书写形式,避免了使用XML实体所带来的阅读上的困难。当然,这也存在旧的浏览器无法识别CDATA的问题,需要我们加入注释来隐藏CDATA标签。大家可以想到,最好的办法还是使用外联的方法使用JavaScript。

ExpandedBlockStart.gif ContractedBlock.gif < script  type ="text/javascript" > dot.gif
InBlock.gif
//<![CDATA[
ExpandedSubBlockStart.gifContractedSubBlock.gif
  function comp(a, b) dot.gif{
InBlock.gif    
if (a > b)
InBlock.gif      alert(
"a is bigger than b");
InBlock.gif    
else
InBlock.gif      alert(
"a is not bigger than b");
ExpandedSubBlockEnd.gif  }

ExpandedBlockEnd.gif
//]]>
None.gif
</ script >

    虽然部分浏览器还不完全支持XHTML,但我们应该尽量按照XHTML标准来书写代码,使得该标准能够获得更大更广泛的支持。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值