JavaScript 是網(wǎng)景(Netscape)公司開(kāi)發(fā)的一種基于客戶端瀏覽器、面向(基于)對(duì)象、事件驅(qū)動(dòng)式的網(wǎng)頁(yè)腳本語(yǔ)言。JavaScript語(yǔ)言的前身叫作Livescript。

  • JavaScript的特點(diǎn):
      1. 簡(jiǎn)單、易學(xué)、易用;
      2. 跨平臺(tái);IE、Navigator
      3. 符合ECMA(歐洲計(jì)算機(jī)制造協(xié)會(huì))標(biāo)準(zhǔn),可移植;
      4. 事件驅(qū)動(dòng)式的腳本程序設(shè)計(jì)思想;
      5. 動(dòng)態(tài)、交互式的操作方式。
  • JavaScript的作用:
      1. 交互式操作;
      2. 表單驗(yàn)證;
      3. 網(wǎng)頁(yè)特效;
      4. Web游戲
      5. 服務(wù)器腳本開(kāi)發(fā)等。
  • JavaScript的編寫(xiě)環(huán)境:文本編輯器

  • JavaScript的執(zhí)行平臺(tái):Web瀏覽器

  • JavaScript的執(zhí)行方式:解釋執(zhí)行(由上而下)

  • JavaScript的版本:JavaScript1.0——JavaScript1.4

  • 瀏覽器對(duì)JavaScript的支持:
      1. JavaScript/IE3.0、JavaScript1.2/IE4.0;
      2. 微軟允許用戶自行設(shè)置對(duì)JavaScript處理模式。
  • JavaScript與Java、VBScript、JScript的關(guān)系:

   JavaScript與Java的區(qū)別體現(xiàn)在:

首先,它們是兩個(gè)公司開(kāi) 發(fā)的不同的兩個(gè)產(chǎn)品,Java是SUN公司推出的新一代面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言,特別適合于Internet應(yīng)用程序開(kāi)發(fā);而 JavaScript是Netscape公司的產(chǎn)品,其目的是為了擴(kuò)展Netscape Navigator功能而開(kāi)發(fā)的一種可以嵌入Web頁(yè)面中的基于對(duì)象和事件驅(qū)動(dòng)的解釋性語(yǔ)言。

其次,JavaScript是基于對(duì)象的, 而Java是面向?qū)ο蟮模碕ava是一種真正的面向?qū)ο蟮恼Z(yǔ)言,即使是開(kāi)發(fā)簡(jiǎn)單的程序,必須設(shè)計(jì)對(duì)象。 JavaScript是種腳本語(yǔ)言,它可以用來(lái)制作與網(wǎng)絡(luò)無(wú)關(guān)的,與用戶交互作用的復(fù)雜軟件。它是一種基于對(duì)象和事件驅(qū)動(dòng)的編程語(yǔ)言。因而它本身提供了非 常豐富的內(nèi)部對(duì)象供設(shè)計(jì)人員使用。

第三,兩種語(yǔ)言在其瀏覽器中所執(zhí)行的方式不一樣。Java的源代碼在傳遞到客戶端執(zhí)行之前,必須經(jīng)過(guò)編 譯,因而客戶端上必須具有相應(yīng)平臺(tái)上的仿真器或解釋 器,它可以通過(guò)編譯器或解釋器實(shí)現(xiàn)獨(dú)立于某個(gè)特定的平臺(tái)編譯代碼的束縛。JavaScript是一種解釋性編程語(yǔ)言,其源代碼在發(fā)往客戶端執(zhí)行之前不需經(jīng) 過(guò)編譯,而是將文本格式的字符代碼發(fā)送給客戶,由瀏覽器解釋執(zhí)行。

第四,兩種語(yǔ)言所采取的變量是不一樣的。Java采用強(qiáng)類(lèi)型變量檢查,即所有變量在編譯之前必須作聲明。JavaScript中變量聲明,采用其弱類(lèi)型。即變量在使用前不需作聲明,而是解釋器在運(yùn)行時(shí)檢查其數(shù)據(jù)類(lèi)型。

第 五,代碼格式不一樣。Java是一種與HTML無(wú)關(guān)的格式,必須通過(guò)像HTML中引用外媒體那么進(jìn)行裝載,其代碼以字節(jié)代碼的形式保存在獨(dú)立的文檔中。 JavaScript的代碼是一種文本字符格式,可以直接嵌入HTML文檔中,并且可動(dòng)態(tài)裝載。編寫(xiě)HTML文檔就像編輯文本文件一樣方便。

第六,嵌入方式不一樣。在HTML文檔中,兩種編程語(yǔ)言的標(biāo)識(shí)不同,JavaScript使用<script>...< /script>來(lái)標(biāo)識(shí),而Java使用<applet> ... </applet> 來(lái)標(biāo)識(shí)。

第七,靜態(tài)綁定和動(dòng)態(tài)綁定。Java采用靜態(tài)聯(lián)編,即Java的對(duì)象引用必須在編譯時(shí)的進(jìn)行,以使編譯器能夠?qū)崿F(xiàn)強(qiáng)類(lèi)型檢查,如不經(jīng)編譯則就無(wú)法實(shí)現(xiàn)對(duì)象 引用的檢查。JavaScript采用動(dòng)態(tài)聯(lián)編,即JavaScript的對(duì)象引用在運(yùn)行時(shí)進(jìn)行檢查。

  • JavaScript的格式:
      1. JavaScript區(qū)分大小寫(xiě);
      2. JavaScript腳本程序須嵌入在HTML文件中;
      3. JavaScript腳本程序中不能包含HTML標(biāo)記代碼;(雙引號(hào))
      4. 每行寫(xiě)一條腳本語(yǔ)句;
      5. 語(yǔ)句末尾可以加分號(hào);
      6. JavaScript腳本程序可以獨(dú)立保存為一個(gè)外部文件,但其中不能包含<script></script>標(biāo)簽。
  • JavaScript腳本程序的幾種基本格式:
      1. <script>
             document.write("Hello World!!!");
        </script>

      2. <script language="JavaScript">
             document.write("Hello World!!!");
        </script>

      3. <script language="JavaScript" type="text/JavaScript">
             document.write("Hello World!!!");
        </script>

      4. <script language="JavaScript1.2">
             document.write("Hello World!!!");
        </script>

      5. <script src="hello.js"></script>

        注意:document.write("Hello World!!!"); 必須保存為一個(gè)外部文件:hello.js

      6. <script language="JavaScript">
        <!--
             document.write("Hello World!!!");
        -->
        </script>

      7. 使用JavaScript協(xié)議:

        <a href="JavaScript:alert('Hello World!!!')">請(qǐng)單擊</a>

        <a href="#" onclick="alert('Hello World!!!')">請(qǐng)單擊</a>

        <a href="JavaScript://" onclick="alert('Hello World!!!')">請(qǐng)單擊</a>
 
  • JavaScript的數(shù)據(jù)類(lèi)型:
      1. 數(shù)值:整數(shù)、浮點(diǎn)數(shù);
      2. 邏輯值:布爾值;
      3. 字符串值:
      4. 空值:
      5. 未定義值:
  • JavaScript數(shù)據(jù)的表示:
      1. 整數(shù):由正負(fù)號(hào)、數(shù)字構(gòu)成,八進(jìn)制、十進(jìn)制、十六進(jìn)制;
      2. 浮點(diǎn)數(shù):由正負(fù)號(hào)、數(shù)字和小數(shù)點(diǎn)構(gòu)成,常規(guī)記數(shù)法、科學(xué)記數(shù)法;
      3. 邏輯值:true、false
      4. 字符串值:?jiǎn)我?hào)、雙引號(hào)
      5. 空值:null
      6. 未定義值:根本不存在的對(duì)象、已定義但沒(méi)有賦值的量;
  • JavaScript常量:
      1. 布爾常量:true  false
      2. 整數(shù)常量:3721  0007  0xaff(0Xaff)
      3. 浮點(diǎn)數(shù)常量:3.14  .001  3.721e+3  -3.721E-3
      4. 字符串常量:"你的E-mail地址有誤!"
      5. 含轉(zhuǎn)義字符的字符串常量:

        轉(zhuǎn)義字符 意義
        \b 退格(Backspace)
        \f 換頁(yè)(Form feed)
        \n 換行(New line)
        \r 返回(Carriage return)
        \t 制表符(Tab)
        \' 單引號(hào)(')
        \" 雙引號(hào)(")
        \\ 反斜線(\)

        document.write("我愛(ài)\'JavaScript\'")

        document.write("文件在c:\\windows\\下")

        document.write("<pre>未滿十八歲\n不得進(jìn)入!</pre>")

        document.write("未滿十八歲<br>不得進(jìn)入!")

        document.alert("密碼不對(duì)\n請(qǐng)重新輸入!")


      6. 數(shù)組常量:

        hobby=["聽(tīng)音樂(lè)","看電影"]
        hobby[0]、hobby[1]

        hobby=["聽(tīng)音樂(lè)",,"看電影",]
        hobby[0]、hobby[1]、hobby[2]、hobby[3]
  • JavaScript變量:
      1. 變量命名規(guī)則:

        • 首字符必須是大寫(xiě)或小寫(xiě)的字母或下劃線(_)或美元符($);
        • 后續(xù)的字符可以是字母、數(shù)字、下劃線或美元符;
        • 變量名稱(chēng)不能是保留字;
        • 長(zhǎng)度是任意;
        • 區(qū)分大小寫(xiě);
        • 約定:集中置頂;
          使用局部變量;
          易于理解;  stdId
          避免混亂。  usrname  usrName

      2. 聲明變量:

        • var stdId;
        • var name,sex;
        • var total=3721;
        • var notNull=true;
        • var name="李小龍",sex="先生";
        • var i=j=0;

      3. 變量賦值:

        stdId = 2004007;

      4. 變量作用域:(方式、位置)

        • 全局變量:省略var,或在函數(shù)外聲明
        • 局部變量:在函數(shù)內(nèi)聲明
        • 全局變量可在整個(gè)腳本中被使用,可在不同的窗口中相互引用(指定窗口名)
        • 例:
          <Script>
          var langJS = "JavaScript"; //langJS是全局變量
          test();

          function test() {
               var langVBS = "VBScript"; //langVBS是局部變量
               document.write("<LI>" + langJS);
               document.write("<LI>" + langVBS);
          }

          document.write("<LI>" + langJS);
          document.write("<LI>" + langVBS);
          </Script>



ExtJS教程- Hibernate教程-Struts2 教程-Lucene教程