js002-在HTML中使用JavaScript

js002-HTML中使用JavaScript

2.1            <script>元素

  定义了以下6个属性

 

async: 可选。表示应该立即下载脚本,但不妨碍页面中的其他操作,比如下载其他资源或者等待加载其他脚本。只对外部脚本文件有效。(异步的)

charset:可选。表示通过src属性指定的代码的字符集。

defer:可选。表示脚本可以延迟到文档完全被解析和显示之后再执行,只对外部脚本有效。IE7及其更早的版本也支持这个属性。(延迟,延期)

src:可选。表示包含要执行代码的外部文件。

type:可选。可以看成是language的替代属性,表示编写代码使用的脚本语言的内同类型

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

使用<script>元素的方法有两种在:直接嵌入Javascript代码和包含外部Javascript文件

 

2.1.1直接嵌入Javascript代码:

<script type="text/javascript">

       function sayhi(){

              alert("hi~");

       }

</script>

直接嵌入Javascript代码时,不要再代码中出现</script>,否则浏览器会认为那是一个结束标签,通过转义符可以解决这个问题

有问题:

<script type="text/javascript">

       function sayhi(){

              alert("</script>");

       }

</script>

解决问题:

<script type="text/javascript">

       function sayhi(){

              alert("<\/script>");

       }

</script>

 

2.1.2 引入外部Javascript文件

 必须包含src属性,这个属性值是一个指向外部Javascript文件的链接。

<script type="text/javascript" src="example.js">

       function sayhi(){

              alert("hi~");

       }

</script>

 

 

 

 

 

2.1.3标签的位置

一般放在页面的<head>元素里面

<!DOCTYPE html>

<html>

       <head>

              <title>example page</title>

              <script type="text/javascript" src="example1.js"></script>

              <script type="text/javascript" src="example2.js"></script>

       </head>

       <body>

     (内容)

       </body>

</html>

 

 

放在所有内容的后面,这样浏览器在解析Javascript代码之前就把整个页面展示出来了,这样加快了打开速度。

<!DOCTYPE html>

<html>

       <head>

              <title>example page</title>

       </head>

       <body>

     (内容)

<script type="text/javascript" src="example1.js"></script>

              <script type="text/javascript" src="example2.js"></script>

       </body>

</html>

 

2.1.4延迟脚本 defer属性 (只适用于外部文件)

在<script>元素中使用defer属性,相当于告诉浏览器立即下载,单延迟执行。(在遇到</html>元素后才执行)

<!DOCTYPE html>

<html>

       <head>

<title>example page</title>

<script type="text/javascript" defer="defer" src="example1.js"></script>

<script type="text/javascript" defer="defer" src="example2.js"></script>

       </head>

       <body>

     (内容)

</body>

</html>

在html文档中,要把defer属性设置为defer="defer"。

2.1.5异步脚本 async属性,用来改变处理脚本的行为,只适用于外部脚本

<!DOCTYPE html>

<html>

       <head>

              <title>example page</title>

              <script type="text/javascript" async="async" src="example1.js"></script>

              <script type="text/javascript" async="async" src="example2.js"></script>

       </head>

       <body>

 

       </body>

</html>

第二个脚本可能会在第一个脚本之前执行,所以保证两个脚本的不相关性很重要。

在html文档中,要把sync属性设置为async="async"

 

2.1.6在xhtml中的用法

<script type="text/javascript">

       function compare(a, b){

              if (a < b) {

                     alert("A is less than B");

              }else if (a > b) {

                     alert("A is greater than B");

              }else{

                     alert("A is equal to B");

              }

       }

</script>

用(&lt;)  替换代码中的小于号(<)

如:if (a &lt; b)

 

2.2            嵌入代码与外部文件

最好适用外部文件,外部文件有以下优点:

可维护性:维护代码比较轻松

可缓存:浏览器能根据具体的设置缓存连接的所有外部Javascript文件

适应未来:

 

2.3            文档模式

    混杂模式和标准模式

2.4            <noscript>元素

   在以下集中情况中会显示出来(一般放在body中)

浏览器不支持脚本

浏览器支持脚本,但是脚本被禁用

 

2.5             

 

 

版权声明:未经作者同意,不得私自转载。http://www.cnblogs.com/lal-fighting/

posted @ 2016-01-18 17:40  liaoali  阅读(335)  评论(0编辑  收藏  举报