浏览器中的 JavaScript

本文介绍了在浏览器中使用JavaScript的两种方法:内联和外联,并对比了它们的区别及优劣。文章还讨论了JavaScript代码在不同位置的执行时机、如何处理不支持JavaScript的情况以及XHTML标准下JavaScript代码的变化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    作者:Flyingis

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

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

    内联

<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>

    在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>

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

<script type="text/javascript">
//
script>

    虽然部分浏览器还不完全支持XHTML,但我们应该尽量按照XHTML标准来书写代码,使得该标准能够获得更大更广泛的支持。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值