瀏覽器中的 JavaScript

來源:互聯網
上載者:User
在瀏覽器中使用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原始碼一般放置在<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"來分別表示小於和大於。

<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">
//<![CDATA[
  function comp(a, b) {
    if (a > b)
      alert("a is bigger than b");
    else
      alert("a is not bigger than b");
  }
//]]>
</script>

    雖然部分瀏覽器還不完全支援XHTML,但我們應該盡量按照XHTML標準來書寫代碼,使得該標準能夠獲得更大更廣泛的支援。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.