JAVADREAM

          hackiller
          數據加載中……
          J2EE復習(三)JavaScript(上)--基礎
          開篇的話
          就我個人在學習和使用JavaScript過程中,感覺該語言邏輯很混亂,有時會出現莫名其妙的錯誤,并且沒有很好的開發工具,調試起來很是費神費時,然而在web開發中JavaScript充當著很重要的角色,令我很是苦惱,希望可以通過長期的學習和編碼積累經驗從而得到進步。


          JavaScript簡介
          JavaScript是一種基于對象的腳本語言,用于開發基于客戶端和基于服務器的Internet應用程序
          可用于創建客戶端腳本和服務器端腳本
          由Sun Microsystems 和 Netscape 開發,是從 Netscapes 的 Livescript 發展而來的

          JavaScript數據類型
          數字型 (Number)                    整數或實數
          邏輯型或布爾型 (boolean)      true或false
          字符串型(String)                    如“Hello World”,“123.4”
          空型 (null)                            表示空值的特殊關鍵字

          算術運算符
          加+   減-  乘*  除/   取余% 一元遞增++ 一元遞減--

          比較運算符
          等于:==  全等:===  不等:!=   大于:>  大于等于:>=  小于:<  小于等于:<=
          PS:全等=== 比較的是數據類型和值,只有兩個都相等時才返回true

          邏輯運算符
          邏輯與:&&   邏輯或:||    邏輯非:!
          PS:JavaScript中沒有&邏輯運算符

          求值運算符
          條件運算符:(condition) ? trueVal : falseVal ;例子:status = (age >= 18) ? "adult" : "minor"
          typeof運算符:typeof 運算符返回字符串,該字符串代表操作數的類型;

          JavaScript數組
          有兩種向數組賦值的方法(你可以添加任意多的值,就像你可以定義你需要的任意多的變量一樣)。
          var mycars=new Array()
          mycars[0]="Saab"
          mycars[1]="Volvo"
          mycars[2]="BMW"
          也可以使用一個整數自變量來控制數組的容量:
          var mycars=new Array(3)
          mycars[0]="Saab"
          mycars[1]="Volvo"
          mycars[2]="BMW"
          還有一種定義方式
          var mycars=new Array("Saab","Volvo","BMW")
          在訪問數組是同java一樣的,mycars[0],下標也是從0開始。
          數組方法和屬性
          使用concat() 方法來合并兩個數組。
          使用join() 方法將數組的所有元素組成一個字符串。
          使用sort() 方法從字面上或數值上對數組進行排序。
          JavaScript數組有length屬性

          JavaScript多維數組
          MyArray = new Array(5,5);
          MyArray[0, 0] = "Ryan Dias";
          MyArray[0, 1] = 1;
          MyArray[1, 0] = "Mike Donne";
          MyArray[1, 1] = 2;

          JavaScript try...catch throw使用

          <html>
          <body>
          <script type="text/javascript">
          var x=prompt("Enter a number between 0 and 10:","")
          try


          if(x>10

          throw "Err1"

          else if(x<0)
          throw "Err2"

          }
           
          catch
          (er)
          {
          if(er=="Err1"

          alert(
          "Error! The value is too high"
          )
          if(er == "Err2"

          alert(
          "Error! The value is too low"

          }

          </script>
          </body>
          </html>
          如果 x 的值大于 10 或者小于 0,錯誤就會被拋出 (throw)。這個錯誤被 catch 的參數捕獲后,就會顯示出自定義的出錯信息。

          JavaScript   for...in語句使用
          for … in語句用于在對象的各個屬性,或數組的各個元素之間循環
          <HTML>
            
          <BODY>
               
          <SCRIPT LANGUAGE = "JavaScript">
                 color 
          = new Array("紅色","藍色","綠色");    
                 
          for (var prop in color)
          {
                   
          var record = "color "
           ;
                   record
          +=prop+"="+color[prop] + "<BR>"
          ;
                   document.write(record);
                 }

              
          </SCRIPT>
            
          </BODY>
          </HTML>

          JavaScript   new語句使用
          new操作符用于新建對象類型實例。
          <HTML>
              
          <BODY>
                  
          <SCRIPT LANGUAGE="JavaScript">
                  
          function employee(name, code, designation) {
                      
          this.name =
           name
                      
          this.code =
           code
                      
          this.designation =
           designation
                  }

                  newemp 
          = new employee("John Dias""A001""職員");
                  document.write(
          "雇員姓名:" + newemp.name + "<BR>"
          );
                  document.write(
          "雇員代號:" + newemp.code + "<BR>"
          );
                  document.write(
          "頭銜:" +
           newemp.designation);
                  
          </SCRIPT>
              
          </BODY>
          </HTML>

          JavaScript  with語句使用
          with語句用于執行一組語句,所有這些語句都假定引用指定的對象。
          <HTML>
              
          <BODY>
                  
          <SCRIPT LANGUAGE ="JavaScript">
                      
          var a, b, c;
                     
          var r=10
          ;
                  
          with (Math)  
          {
                        a 
          = PI * r *
           r;
                        b 
          = r *
           cos(PI);
                        c 
          = r * sin(PI/2
          );
                     }

                     document.write (a 
          +"<BR>");
                     document.write (b 
          +"<BR>"
          );
                     document.write (c 
          +"<BR>"
          );
                  
          </SCRIPT>
              
          </BODY>
          </HTML>

          JavaScript 字符串對象
          字符串對象示例
          <HTML>
            
          <BODY>
             
          <script language = "Javascript">
              
          var bstr = "大號";
              
          var sstr = "小號"
          ;
              
          var blstr = "粗體"
          ;
              
          var blkstr =
           “閃爍”;
              
          var ucase = "大寫"
          ;
              
          var lcase = "小寫"
          ;
              document.write (
          "<BR>這是"+ bstr.big() + "文本"
          );
               document.write (
          "<BR>這是"+ sstr.small() +"文本"
          );
               document.write (
          "<BR>這是"+ blstr.bold() + "文本"
          );
               document.write (
          "<BR>這是"+ blkstr.blink() + "文本"
          );
               document.write (
          "<BR>這是"+ ucase.toUpperCase() + "文本"
          );
               document.write (
          "<BR>這是"+ lcase.toLowerCase() + "文本"
          );
            
          </script>
           
          </BODY>
          </HTML>

          字符串左右兩端空格處理方法
          <html>
          <head>
          <title>js String Object</title>
          <script language="javascript">
          //此處為string類添加三個成員 
          String.prototype.Trim = function()return Trim(this);} 
          String.prototype.LTrim 
          = function(){return LTrim(this);}
           
          String.prototype.RTrim 
          = function(){return RTrim(this);}
           

          //此處為獨立函數 

          function LTrim(str)//去除左邊空格

          var
           i; 
          for(i=0;i<str.length;i++


          if(str.charAt(i)!=" "&&str.charAt(i)!=" ")break

          }
           
          str
          =
          str.substring(i,str.length); 
          return
           str; 
          }
           
          function RTrim(str)//去除右邊空格


          var
           i; 
          for(i=str.length-1;i>=0;i--


          if(str.charAt(i)!=" "&&str.charAt(i)!=" ")break

          }
           
          str
          =str.substring(0,i+1
          ); 
          return
           str; 
          }
           
          function Trim(str)//去除左右兩邊空格


          return
           LTrim(RTrim(str)); 
          }

          </script>
          <head>
          <body>
          <script>alert("    string         ".LTrim(this).length);</script>
          <script>alert("    string         ".RTrim(this).length);</script>
          <script>alert("    string         ".Trim(this).length);</script>
          </body>
          </html>

          JavaScript RegExp(正則表達式)對象

          /*語法1 re = new RegExp("pattern",["flags"]);
            語法2 re = /pattern/[flags];
            可選項。如果使用語法 2 要用引號將 flag 引起來。標志可以組合使用,可用的有: 
            g (全文查找出現的所有 pattern) 
            i (忽略大小寫) 
            m (多行查找)
          */


          var pattern1 = new RegExp("e","g");
          var pattern2 = new RegExp(/^[1-9]\d*$/
          );
          var pattern3 = /^[1-9]\d*$/;

          RegExp 對象有 3 個方法:test()、exec() 以及 compile()。
          test() 方法檢索字符串中的指定值。返回值是 true 或 false,一般在檢查字符串的合法性時使用,如檢查輸入值是否為正浮點數。
          exec() 方法檢索字符串中的指定值。返回值是被找到的值。如果沒有發現匹配,則返回 null。
          compile() 方法用于改變 RegExp,如果不太清楚請看下面的例子。

          <html>
          <body>
          <script type="text/javascript">
          function CompileDemo(){
             
          var
           rs;
             
          var s = "AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPp"
          ;
             
          // 只為大寫字母創建正則表達式。

             var r = new RegExp("[A-Z]""g");
             
          var a1 = s.match(r);              // 查找匹配。

             // 只為小寫字母編譯正則表達式。
             r.compile("[a-z]""g");
             
          var a2 = s.match(r);              // 查找匹配。

             return(a1 + "\n" + a2);
          }

          alert(CompileDemo());
          </script>
          </body>
          </html>


          JavaScript---獲取事件信息
          JavaScript中:window.event或event對象獲取事件信息調用其keyCode獲取按鍵的鍵位號
          event.keyCode ---- 返回對應鍵位的值
          event.shiftKey ---- 如果觸動了shift鍵則返回true
          event.ctrlKey ---- 如果觸動了ctrl鍵則返回true
          event.altKey ---- 如果觸動了alt鍵則返回true

          HTML事件
          onClick  ---單擊事件
          ondblclick---鼠標雙擊
          onMouseDown  --- 鼠標按下
          onMouseUp---鼠標彈起
          oncontextmenu---鼠標右擊
          onChange --- 值改變事件
          onFocus  --- 獲取焦點
          onBlur  --- 失去焦點
          onMouseOver---鼠標移動
          onMouseOut  ---鼠標離開
          onLoad  ---加載事件
          onSubmit  ---提交事件

          Navigator 對象的屬性
          appCodeName 返回瀏覽器的代碼名。
          appMinorVersion 返回瀏覽器的次級版本。
          appName 返回瀏覽器的名稱。
          appVersion 返回瀏覽器的平臺和版本信息
          browserLanguage 返回當前瀏覽器的語言。
          cookieEnabled 返回指明瀏覽器中是否啟用 cookie 的布爾值。
          cpuClass 返回瀏覽器系統的 CPU 等級。
          onLine 返回指明系統是否處于脫機模式的布爾值。 
          platform 返回運行瀏覽器的操作系統平臺。

          Navigator 對象的方法
          javaEnabled() 規定瀏覽器是否啟用 Java。

          Window對象的屬性:
          closed 返回窗口是否已被關閉。
          defaultStatus 設置或返回窗口狀態欄中的默認文本。
          document 對 Document 對象的只讀引用。
          history 對 History 對象的只讀引用。
          length 設置或返回窗口中的框架數量。
          location 用于窗口或框架的Location 對象。
          name 設置或返回窗口的名稱。
          Navigator 對 Navigator 對象的只讀引用。
          opener 返回對創建此窗口的窗口的引用。
          outerheight 返回窗口的外部高度。
          outerwidth 返回窗口的外部寬度。
          parent 返回父窗口。
          Screen 對 Screen 對象的只讀引用。
          self 返回對當前窗口的引用。等價于 Window 屬性。
          status 設置窗口狀態欄的文本。
          top 返回最頂層的先輩窗口。
          window window 屬性等價于 self 屬性,它包含了對窗口自身的引用。

          Window對象的方法:
          alert(信息字串) 彈出警告信息
          confirm(信息字串) 顯示確認信息對話框
          prompt(提示字串[,默認值]) 顯示提示信息,并提供可輸入的字段
          atob(譯碼字串) 對base-64編碼字串進行譯碼
          btoa(字串) 將進行base-64編碼
          back() 回到歷史記錄的上一網頁
          forward() 加載歷史記錄中的下一網頁
          open(URL,窗口名稱[,窗口規格])
          close()
          focus() 焦點移到該窗口
          blur() 窗口轉成背景
          stop() 停止加載網頁  
          enableExternalCapture()    允許有框架的窗口獲取事件
          disableExternalCapture()   關閉enableExternalCapture()
          captureEvents(事件類型)    捕捉窗口的特定事件
          routeEvent(事件)           傳送已捕捉的事件
          handleEvent(事件)          使特定事件的處理生效
          releaseEvents(事件類型)    釋放已獲取的事件
          moveBy(水平點數,垂直點數) 相對定位
          moveTo(x坐標,y坐標)       絕對定位  
          home()   進入瀏覽器設置的主頁
          find([字串[,caseSensitivr,backward]]) 查找窗口中特定的字串
          print()   打印當前窗口的內容。
          setHotKeys(true|false) 激活或關閉組合鍵
          setZOptions() 設置窗口重疊時的堆棧順序
          setInterval(表達式,毫秒)  
          setTimeout(表達式,毫秒)  
          clearInterval(定時器對象)  
          clearTimeout(定時器對象)
          showModalDialog() 彈出模態窗體,通過window.dialogArguments獲取父窗體傳過來的值,通過window.returnValue給父窗體傳值。

          Document 對象的屬性
          body 提供對 <body> 元素的直接訪問。對于定義了框架集的文檔,該屬性引用最外層的 <frameset>。        
          cookie 設置或返回與當前文檔有關的所有 cookie。
          domain 返回當前文檔的域名。
          lastModified 返回文檔被最后修改的日期和時間。
          referrer 返回載入當前文檔的文檔的 URL。
          title 返回當前文檔的標題。
          URL 返回當前文檔的 URL。

          Document 對象的方法
          close() 關閉用 document.open() 方法打開的輸出流,并顯示選定的數據。
          getElementById() 返回對擁有指定 id 的第一個對象的引用。
          getElementsByName() 返回帶有指定名稱的對象集合。
          getElementsByTagName() 返回帶有指定標簽名的對象集合。
          open() 打開一個流,以收集來自任何 document.write() 或 document.writeln() 方法的輸出。
          write() 向文檔寫 HTML 表達式 或 JavaScript 代碼。
          writeln() 等同于 write() 方法,不同的是在每個表達式之后寫一個換行符。

          Location 對象的屬性
          hash 設置或返回從井號 (#) 開始的 URL(錨)。
          host 設置或返回主機名和當前 URL 的端口號。
          hostname 設置或返回當前 URL 的主機名。
          href 設置或返回完整的 URL。
          pathname 設置或返回當前 URL 的路徑部分。
          port 設置或返回當前 URL 的端口號。
          protocol 設置或返回當前 URL 的協議。
          search 設置或返回從問號 (?) 開始的 URL(查詢部分)。

          Location 對象的方法
          assign() 加載新的文檔。
          reload() 重新加載當前文檔。
          replace() 用新的文檔替換當前文檔。

          History 對象的屬性
          length 返回瀏覽器歷史列表中的 URL 數量

          History 對象的方法
          back() 加載 history 列表中的前一個 URL
          forward() 加載 history 列表中的下一個 URL
          go() 加載 history 列表中的某個具體頁面



          相關資料鏈接
          J2EE復習(一)HTML
          J2EE復習(二)XML(上)
          J2EE復習(二)XML(下)--XML解析
          J2EE復習(三)JavaScript

          posted on 2009-04-09 22:59 hackiller 閱讀(1401) 評論(0)  編輯  收藏 所屬分類: J2EE第一次復習

          主站蜘蛛池模板: 建始县| 获嘉县| 雅江县| 色达县| 吉木萨尔县| 改则县| 红桥区| 高碑店市| 黔南| 丹棱县| 宜川县| 台前县| 上虞市| 新河县| 阆中市| 横峰县| 尚义县| 资源县| 通辽市| 津市市| 东乡| 横峰县| 马尔康县| 南昌市| 会理县| 玉树县| 承德县| 本溪市| 南昌县| 义马市| 宜城市| 象州县| 堆龙德庆县| 嘉义市| 吴忠市| 涪陵区| 厦门市| 锦州市| 太白县| 巨野县| 无极县|