整合營(yíng)銷服務(wù)商

          電腦端+手機(jī)端+微信端=數(shù)據(jù)同步管理

          免費(fèi)咨詢熱線:

          web前端之script元素

          web前端之script元素



          avaScript最初的產(chǎn)生是應(yīng)用在網(wǎng)頁中的,那么就不可避免地要涉及到HTML。HTML是web的核心語言,因此如何解決JavaScript和HTML的頁面共存同時(shí)又不影響頁面的顯示效果是一個(gè)很重要的問題,經(jīng)過長(zhǎng)期的探索和嘗試,最后決定為Web增加統(tǒng)一的腳本支持。

          向HTML頁面中插入JavaScript的主要方法,就是使用<script>元素,這個(gè)元素后來被加入到正式的HTML規(guī)范中。

          HTML為<script>定義了下列6個(gè)屬性:

          • async:可選。表示應(yīng)該立即下載腳本,但不應(yīng)妨礙頁面中的其他操作,比如下載其他資源或等待加載其他腳本。只對(duì)外部腳本文件有效。
          • charset:可選。表示通過src屬性指定的代碼的字符集。
          • defer:可選。表示腳本可以延遲到文檔完全被解析和顯示之后再執(zhí)行。只對(duì)外部腳本文件有效。
          • language:已廢棄。
          • src:可選。表示包含要執(zhí)行代碼的外部文件。
          • type:可選。可以看成是language的替代屬性;表示編寫代碼使用的腳本語言的內(nèi)容類型(稱為MIME類型)。目前type屬性的值依舊還是text/javascript。

          使用<script>元素的方式有兩種:

          • 直接在頁面中嵌入JavaScript代碼
          • 包含外部JavaScript文件。

          在使用<script>元素嵌入JavaScript代碼時(shí),只須為<script>指定type屬性。然后如下把JavaScript代碼直接放在元素內(nèi)部即可:

          <script type="text/javascript">
            function sayHi(){
            	alert("Hi!");
          	}
          </script>

          包含在<script>元素內(nèi)部的JavaScript代碼將被從上至下依次解釋。

          在上面的例子中,解釋器會(huì)解釋一個(gè)函數(shù)的定義,然后將該定義保存在自己的環(huán)境當(dāng)中。在解釋器對(duì)<script>元素內(nèi)部的所有代碼求值完畢以前,頁面中的其余內(nèi)容都不會(huì)被瀏覽器加載或顯示。

          在使用<script>嵌入JavaScript代碼時(shí),記住不要在代碼中的任何地方出現(xiàn)"</script>"字符串。否則瀏覽器在加載代碼時(shí)會(huì)產(chǎn)生一個(gè)錯(cuò)誤:

          <script type="text/javascript">
            function sayScript(){
          		alert("</script>");
            }
          </script>

          因?yàn)榘凑战馕銮度胧酱a的規(guī)則,當(dāng)瀏覽器遇到字符串"</script>"時(shí),就會(huì)認(rèn)為那是結(jié)束的

          </script>標(biāo)簽,但是可以通過轉(zhuǎn)義字符“/”可以解決這個(gè)問題:

          <script type="text/javascript">
            function sayScript(){
          		alert("\</script>");
            }
          </script>

          如果要通過<script>元素來包含外部JavaScript文件,那么src屬性就是必需的。這個(gè)屬性的值是一個(gè)指向外部JavaScript文件的鏈接,例如

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

          外部文件 example.js 將被加載到當(dāng)前頁面中。外部文件只須包含通常要放在開始的<script>和結(jié)束的</script>之間的那些JavaScript代碼即可。與解析嵌入式JavaScript代碼一樣,在解析外部JavaScript文件(包括下載該文件)時(shí),頁面的處理也會(huì)暫時(shí)停止。如果是在XHTML文檔中,也可以省略前面示例代碼中結(jié)束的</script>標(biāo)簽,例如

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

          但是,不能在 HTML 文檔使用這種語法。因?yàn)檫@種語法不符合HTML規(guī)范,而且也得不到某些瀏覽器(尤其是 IE)的正確解析。

          外部JavaScript文件帶有.js擴(kuò)展名,但不是必需的,因?yàn)闉g覽器不會(huì)檢查包含 JavaScript的文件的擴(kuò)展名。

          需要注意的是,帶有 src 屬性的<script>元素不應(yīng)該在其<script>和</script>標(biāo)簽之間再 包含額外的 JavaScript 代碼。如果包含了嵌入的代碼,則只會(huì)下載并執(zhí)行外部腳本文件,嵌入的代碼 會(huì)被忽略。

          另外,通過<script>元素的 src 屬性還可以包含來自外部域的 JavaScript 文件。這一點(diǎn)既讓 <script>元素倍顯強(qiáng)大,又讓它備受爭(zhēng)議。在這一點(diǎn)上,<script>與<img>元素非常相似,即它的 src 屬性可以是指向當(dāng)前 HTML 頁面所在域之外的某個(gè)域中的完整 URL,例如:

          <script type="text/javascript" src="http://www.somewhere.com/afile.js"></script>

          位于外部域中的代碼也會(huì)被加載和解析,就像這些代碼位于加載它們的頁面中一樣。利用這一點(diǎn)就可以在必要時(shí)通過不同的域來提供 JavaScript 文件。不過,在訪問自己不能控制的服務(wù)器上的 JavaScript 文件時(shí)則要多加小心。

          無論如何包含代碼,只要不存在defer和 async屬性,瀏覽器都會(huì)按照<script>元素在頁面中出現(xiàn)的先后順序?qū)λ鼈円来芜M(jìn)行解析。換句話說,在第一個(gè)<script>元素包含的代碼解析完成后,第二個(gè)<script>包含的代碼才會(huì)被解析,然后才是第三個(gè)、第四個(gè)......

          果想開發(fā)一個(gè)網(wǎng)站,除了要精通后端開發(fā)語言(如:php)外,還要精通HTML代碼。那么,什么是HTML呢?HTML是一種超文本標(biāo)記語言,它包含有眾多的標(biāo)簽,我們可以通過這些標(biāo)簽,把不同的internet資源(如:文字、圖片、視頻、音頻、表單等等)整合在一個(gè)統(tǒng)一的文檔中,這就形成了我們可以看得見的網(wǎng)頁。那么,HTML都有哪些常用的標(biāo)簽?zāi)兀?/p>

          一、文檔類型聲明。

          html5文檔類型聲明:<!doctype html>

          html4文檔類型聲明:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

          二、html主標(biāo)簽。

          這個(gè)標(biāo)簽是html最外層的標(biāo)簽,所有其它的HTML標(biāo)簽都要放在這個(gè)標(biāo)簽的內(nèi)部。

          <html>

          <head></head>

          <body></body>

          </html>

          三、雙標(biāo)簽和單標(biāo)簽。

          在HTML標(biāo)簽中,有的標(biāo)簽是成雙成對(duì)的,如:<html></html>(如下圖);而有的標(biāo)簽是單個(gè)的,如:<hr>橫線標(biāo)簽。

          四、head頭部標(biāo)簽。

          head頭部有以下幾種常用標(biāo)簽:

          meta:主要提供有關(guān)頁面的元信息。

          link:用來定義文檔與外部資源的關(guān)系,最常用的是調(diào)用CSS樣式文件。

          title:頁面標(biāo)題的標(biāo)簽。

          script:用來調(diào)用JS文件或JS代碼。當(dāng)然,script標(biāo)簽也可以在body主體中使用。

          五、body主體標(biāo)簽。

          1、塊級(jí)標(biāo)簽。

          塊級(jí)標(biāo)簽的特性是:獨(dú)自占有一行;標(biāo)簽的高與寬、邊距可以修改;沒有設(shè)置寬與高時(shí),默認(rèn)繼承父標(biāo)簽。例如:


          <div>div1</div>

          <div>div2</div>

          <style>

          .aa1{ border:1px solid #000; width:150px; height:100px; margin:30px; }

          .aa2{ border:1px solid #000; width:150px; height:100px; margin:30px; }

          </style>


          前端頁面顯示的效果如下圖:

          常用的塊級(jí)標(biāo)簽有:div、h1、h2、h3、h4、h5、h6、hr、menu、ul、ol、li、dl、dt、dd、table、p、form 。

          2、內(nèi)聯(lián)標(biāo)簽。

          內(nèi)聯(lián)標(biāo)簽與塊級(jí)標(biāo)簽不同,它不能獨(dú)自占有一行,會(huì)與其它內(nèi)聯(lián)標(biāo)簽在同一樣展示;內(nèi)聯(lián)標(biāo)簽的高與寬、上下邊距是不能修改的,它里面的文字或圖片有多高,它就是多高。例如如下代碼:


          <style>

          .aa1{ border:1px solid #000; width:150px; height:100px; margin:30px; }

          .aa2{ border:1px solid #000; width:150px; height:100px; margin:30px; }

          </style>

          <span>span1</span>

          <span>span2</span>


          CSS樣式代碼跟塊級(jí)標(biāo)簽的例子是一樣的,而顯示的效果就不一樣了,寬與高、上下邊距沒有效果。如下圖:

          常用的內(nèi)聯(lián)標(biāo)簽有:span、a、b、strong、i、em 。

          3、內(nèi)聯(lián)塊級(jí)標(biāo)簽。

          內(nèi)聯(lián)塊級(jí)標(biāo)簽,既有一些內(nèi)聯(lián)標(biāo)簽的特性,也有一些塊級(jí)標(biāo)簽的特點(diǎn):它不能獨(dú)自占有一行,但是可以修改它的寬度和高度。例如下面這段代碼:


          <style>

          .aa1{ border:1px solid #000; width:150px; height:100px; margin:30px; }

          .aa2{ border:1px solid #000; width:150px; height:100px; margin:30px; }

          </style>

          <img src="w5.jpg" alt="">

          <img src="w5.jpg" alt="">


          CSS樣式代碼跟塊級(jí)標(biāo)簽的那個(gè)例子仍然是一樣的,圖片的寬和高、上下邊距修改成功,而2個(gè)圖片不能獨(dú)自占有一行,而是在同一行。如下圖:

          常用的內(nèi)聯(lián)塊級(jí)標(biāo)簽有:img、input、textarea。

          4、區(qū)域標(biāo)簽。

          所謂區(qū)域標(biāo)簽,就是主要用來劃分布局頁面區(qū)域的。如:頭部、主體內(nèi)容、側(cè)邊欄、底部。這樣劃分的好處是:讓頁面布局更加清晰明了。

          常用的區(qū)域標(biāo)簽有:header(頭部)、footer(底部)、nav(導(dǎo)航)、aside(側(cè)邊欄)、section(主體)、article(獨(dú)立內(nèi)容)。

          5、表單標(biāo)簽。

          這個(gè)表單標(biāo)簽我們也是會(huì)經(jīng)常用到的,如:登錄網(wǎng)站的時(shí)候、提交數(shù)據(jù)的時(shí)候。如下圖的評(píng)論表單:

          ?表單常用的標(biāo)簽有:form、input、select、option、textarea 。

          以上就是我們開發(fā)網(wǎng)頁時(shí),會(huì)常用到的HTML標(biāo)簽。當(dāng)然,HTML標(biāo)簽遠(yuǎn)不止這些,尤其是html5出來后,新增了許多的新標(biāo)簽。但是,有些標(biāo)簽在我們開發(fā)中很少用到,所以,這里就沒有做相應(yīng)的介紹。

          avaScript 程序不能獨(dú)立運(yùn)行,它需要被嵌入 HTML 中,然后瀏覽器才能執(zhí)行 JavaScript 代碼。通過 <script> 標(biāo)簽將 JavaScript 代碼引入到 HTML 中,有兩種方式:
          1.內(nèi)部方式
          內(nèi)部方式是通過<script>標(biāo)簽包裹JavaScript代碼,從而引入HTML頁面中,示例代碼如下:

          <!DOCTYPE html>
           <html>
           <head>
             <meta charset="UTF-8">
             <title>JavaScript 基礎(chǔ) - 引入方式</title>
           </head>
           <body>
             <!-- 內(nèi)聯(lián)形式:通過 script 標(biāo)簽包裹 JavaScript 代碼 -->
             <script>
               alert('嗨,歡迎來傳智播學(xué)習(xí)前端技術(shù)!')
             </script>
           </body>
           </html>

          2.外部形式

          一般將 JavaScript 代碼寫在獨(dú)立的以 .js 結(jié)尾的文件中,然后通過 <script>標(biāo)簽的 <src>屬性引入,示例代碼如下:

          // demo.js
          document.write('嗨,歡迎來傳智播學(xué)習(xí)前端技術(shù)!')
          <!DOCTYPE html>
           <html>
           <head>
             <meta charset="UTF-8">
             <title>JavaScript 基礎(chǔ) - 引入方式</title>
           </head>
           <body>
             <!-- 外部形式:通過 script 的 src 屬性引入獨(dú)立的 .js 文件 -->
             <script src="demo.js"></script>
           </body>
           </html>

          注意:如果 script 標(biāo)簽使用 src 屬性引入了某 .js 文件,那么 標(biāo)簽的代碼會(huì)被忽略!!!如下代碼所示:


          主站蜘蛛池模板: 久久精品一区二区三区资源网| 亚洲日韩精品无码一区二区三区| 69福利视频一区二区| 国产一区二区电影| 成人精品一区二区三区中文字幕| 人成精品视频三区二区一区| 国产精品视频免费一区二区三区| 国产在线不卡一区| 国产成人AV一区二区三区无码| 一区二区三区日韩| 鲁丝丝国产一区二区| 色精品一区二区三区| 一区二区视频在线播放| 国产日韩精品视频一区二区三区 | 欧美激情国产精品视频一区二区| 国产精品女同一区二区久久| 亚洲一区二区三区无码中文字幕| 国产韩国精品一区二区三区久久| 在线观看国产一区亚洲bd| 亚洲一区精品伊人久久伊人| 一区二区三区四区免费视频 | 91在线一区二区| 精品无码人妻一区二区免费蜜桃| 亚洲AV无码一区二区三区电影| 视频一区在线免费观看| 久久国产精品亚洲一区二区| 国精产品999一区二区三区有限 | 国产成人高清亚洲一区久久| 成人精品视频一区二区三区不卡 | 国产乱码伦精品一区二区三区麻豆| 国产在线精品一区二区不卡麻豆| 精品亚洲AV无码一区二区| 色欲精品国产一区二区三区AV| 国产一区二区不卡老阿姨| 久久精品综合一区二区三区| 一区二区和激情视频| 亚洲一区爱区精品无码| 夜夜高潮夜夜爽夜夜爱爱一区| 天堂一区二区三区精品| 波多野结衣一区在线观看| 日韩精品无码中文字幕一区二区|