javascript進階教程

來源:互聯網
上載者:User

指令碼語言:指WEB瀏覽器內由解譯器執行的語言。

javascript物件模型

window->document->form->table,button,text.

1.window為最進階對象也是預設的對象。
window包含與使用者通訊的一些方法:alert(),prompt(),confirm();
window對象有關的事件處理常式:onLoad,onUnload;
window對象的相關屬性:length  表示父視窗架構個數的整數值
                                         parent 表示父表單名的串值
                                         status   狀態條值

2.document對象
屬性:
forms  包含對文檔中每個表單引用的數組。
location 表示當前URL對象的串值
referrer  表示當前文檔所訪問的URL的串值
方法:
Clear()  清除document視窗
close() 關閉Write()流
Open()  開啟此文檔,檢索write()流中的資料
write() 把內容寫到此文檔

3.image對象:
onClick   onMouseOver  onMouseOut  onLoad  onUnload 
onAbort 當裝入映像被使用者動作的結果夭折時觸發此事件
onError 當裝入圖象中發生錯誤碼時觸發此事件

4.history對象
forward()
back()
go(int)
length(屬性)表示history對象當前引用的串連個數的整數值

5.location對象
   onClick="location.href=''""

第一課:
//定義一個變數接受彈出窗使用者輸入的資料
function doAlert()
{
    var answer = prompt("the question","這裡為預設值,可以為空白");
}

第二課:
1.indexOf()函數
var str = "mynameis";
var val = str.indexOf("n");
不包含對應字元返回 -1;
傳回值從0開始,第一個位置返回0,類推。有多個對應字元返回字串中第一個相對應的位置

2.chartAt(index)
  返回字串中對應位置的字元

3.legth
  返回字串的長度

4.subString(startIndex,endIndex);
   返回字串中  起始索引到結束索引的 子字串

5.split("");

    將字串按  split中的符號分割成數組

6.Array
   var ar = new Array();
   ar["fisrt"] = "name";
   ar["seconed"] = "sex"
可以字元作索引,也可用數字

7 cookie
   每個網域名稱只分配20個cookie且每個cookie的大小不得超過4K
   cookie值中不能有空格,逗號,分號
   escape()  nuescape()
   
    function setCookie()
    {
           var youname = prompt("請輸入你的名字:","");
            var younamecookie = "cookiename =:你的名字是"escape(youname);
           document.cookie = younamecookie;
     }
上面儲存了一個名為cookiename的cookie ,內容是 你的名字是:*****
    如果輸入時寫了   A B  則經過escape後,younamecookie的值為A20%B  ,自動將空格轉換成20%.

   function readCookie()
   {
          var cookiename = document.cookie;
          var value = cookiename.split(":");
           var youname = unescape(value[1]);
          alert(youname+":歡迎你再一次光臨!";);
   }

寫多個cookie只要cookie的名字不同即可

讀多個cookie
如果有多個cookie
var cookiename = document.cookie;
顯示出來為多個cookie並且兩個cookie中用   分號  相隔,可用字串方法讀取

設定cookie的失效期
expires = 日期
toGMTString(),  cookie中所有的日期必須用這個函數來轉換
var da = new Date("December 31",2090);
var dat = da.toGMTString();
var thecookie = "my_cookie=cookievalue;expires="dat      expires與前面用分號隔開

設定cookie路徑
path="/";
寫法類似expires,/為根目錄.

 

第三課:
1.var timeout = setTimeout("要執行的操作",時間間隔);單位為毫秒
setTimeout返回一個變數,若要取消該setTimeout
可用   clearTimeout(變數);      clearTimeout(timeout);
function doTimer()
{
    count += 1;
    setTimeout(doTimer(),1000)
}

2.window.location.replace("*.html");
   parseFloat();     將字串中的第一個數字字元提取出來並返回   
   parseInt()   將實數中小數點後的數字去掉。
   var intValue = parseInt(2.48);
   intValue = 2

3.var da = new Date();  //當前時分秒
    var hours = da.getHours()
    var minutes = da.getMinutes();
    var seconds = da.getSeconds();

4.navigator.appName 取得流覽器的名字

5.使用某一對象或方法前先判斷流覽器是否支援以避免出現不必要的錯誤
  例片替換
   if(document.images)
    {支援才執行操作}
   if(document.moveTo)
    {支援才執行}

6.window.history.back();

 

第四課:
1.映像分地區導航
<IMG src="/*.gif" border=0 height = 130 width= 140 ismap usemap="#foo">
<map name="foo">
    <area name = "one" href ="*.html" coords="4,4,4,4">
    <area name = "two" href ="*.html" coords="5,5,5,5">
    <area name = "three" href = "*.html" onClick="某些操作" coords="*,*,*,*" >
           可以觸發對應事件
</map>
ismap usemap="#foo"表示映像使用一個名字foo的導航塊
area 表示地區,  coords表示相對那個映像的一塊地區,分別為  左上,右上,左下,右下。

2.一個頁面的第一個表單可以被索引為
   window.document.forms[0]  其餘仍此類推

3.eval();
  將一個字串當作一個javascript運算式去執行
  var val = "2+2";
  var result = eval(val);
  alert(result);
  彈出結果為4
    <img src="a.gif" name="A">
    <img src="b.gif" name="B">
   function swapImage()
    {
        var im = prompt("請輸入你要改變的映像,A或者是B:","");
        var temp = "window.document."+im;
        var realy = eval(temp);
        realy.src = "c.jpg";
    }

4.改變一個Textbox的方法
<form name = "the_form">
    <input type="text" name="the_name">
</form>

1.document.window.forms[0].elements[0].value = "value";
2.document.window.form[the_form].elements[the_name].value = "value";
3.document.window.the_form.the_name.value = "value";
4.var temp = "window.document."+the_from+"."+the_name+".value";
  var realy = eval(temp);
  realy = "value";

 第五課
調試
var debug = "none"
function doError(message)
{
     if(debug == "alert")
     {
            alert(message);
      }
      else if(debug == "text")
     {
            windows.document.forms[0].elements[0].value = message;
       }
}
當系統完成交付使用時可將debug的變數  debug = "none"  這樣無需刪除所有測試語句

優性
1.限制迴圈裡的工作量。可以放在迴圈外的不要加到迴圈裡面去。
2.if else  按最可能到最不可能的順序

結束.

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.