《Head First JavaScript》 學習筆記


  <scipt type="text/javascript" src"cookie.js"> </script>  //腳本署名方法javascript

  <body onload ="resizeRock(); greetUser();" onresize = "resizeRock();">  //重調瀏覽器觸犯的事件php

    document.getElementById("rockImg").style.height = "100px";java

 

    var showTime = {"12:30", "2:45", "5:00", "7:15", "9:30"}; //數組建立node

 

  var seats = new Array(new Array(9),new Array(9), new Array(9), new Array(9));ajax

    var seats = [ [ , , ,], [ , , ,], [ , , ,], [ , , ,]];正則表達式

 

  var myShowStatus = showSeatStatus;express

    回調函數 腳本外部調用 onload ; 瀏覽器會調用它們數組

    聯結事件:聯結回調函數與事件,引用函數;瀏覽器

    函數名稱後面沒有括號,由於此時並不是意圖運行函數,只是想引用函數;服務器

    函數字面量 documen.getElementById("seat26").onclick = function(evt){
                            shouSeatStatus(26);
                            };


            回調函數必須聯結到onload事件處理器中;

 

  name 可獨一無二地識別表單中的域;

<input id="zipcode" name="zipcode" type="text" size = "5" />
onfocus onblur //onchange;
<input id="phone" name="phone" type="text" size="12" onblur = "validateNonEmpty(this,document.getElementById('phone_help'));"/>

  <span id="phone_help" class="help"></span>

    inputField.value.length

 

正則表達式 regular expression

  / . \d \w \s ^ $/
.任何字符 \d數字 \w字母或數字 \s空格 ^起始模式 $結束模式
        regular expression / +expression +/


限定符:
  * 0次以上 + 1次以上 ?0或1 {n} n次 {min,max} ()集合字母 (this|that)
  集合中 [ ] 匹配可選符

 

 

document.getElementsByTagName("img")[3]

innerHTML

document.getElementById("story").innerHTML =
"you are <strong> not</strong> alone";

nodeValue nodeType childNodes firstChild lastChild

DOM改變節點文本三步驟
  var node = document.getElementBtId("stroy");
  while(node.firstChild)
  node.removeChild(node.firstChild);//移除全部節點
  node.appendChild(document.createTextNode("Ok, maybe you are alone."));//後續接上

鼠標的觸發的兩種事件  onmouseover / onmouseout

 

 

建立HTML元素
  var decisionElem = document.creatElement("p");
  deicisionElem.appendChild(document.createTextNode(" ");

date對象   setMonth(); getDate(); setYear(); getDay();
var date = new date();
var blogDate = new Date("04/17/2018")

 

排序方法  sort() 默認升序排列

比較函數 camparison function:
function capare(x,y){
return x-y;
} //<0 x排y前面 >0 y前

blog.sort{(function(blog1,blog2){return blog2.date - blog1.date;}} //比較函數提供只提供給sort()使用,不會出如今別的地方,因此能夠省略函數名稱

 

以string爲對象

  屬性 length  方法indexOf(); //檢索不到時 return -1;

        charAt(); //檢索單一字符  toLowerCase();toUpperCase();

 

MATH

  PI =3.14  常量    round()四捨五入取整  ceil()向上取整   floor()上下取整   random()隨機

 

方法存儲在類裏

 

 類層用 prototype

  blog.prototype.toHTML = function() {

    }

 

類特性 blog.prototype.signature = " ...";  使用時調用類特性 既實例特性吧  blog.signature 或者 this.signature; 

 

      AJAX: 能夠用於請求任何數據,動態

XML :相似於HTML 能夠用本身定義的標籤標示數據 例如  <books>   只是一種文本格式   

 

XMLHttpRequest : 內置於JavaScript的函數 用於發起請求和處理請求 ,複雜;

    屬性:readyState ;請求的狀態代碼  status;HTTP的請求狀態代碼  onreadystatechange;  responseText;  responseXML;

    方法: abory();  open();  send();

 

 

Get 與 Post 

    get請求是從服務器上獲取數據;

        request.open("GET", "bolg.xml",  true); // always asynchronous (true);

        request.send( null); // get無數據能夠發送 因此是null;

 

    post請求是把數據發送給服務器;

        request.open("POST", "addblogentry.php", true );

        request.setRequestHeader("Content-Type", "application/x-www-form-ulencoded; charset = UTF - 8");

        requese.send ("flkasdjflhffnaksljnfkdlsjnf.png");

 

AjaxRequest: 

  底層的XMLRequest對象儲存在 request特性裏面:

  方法:getReadyStatus();  getStatus();  getResponseText();  getResponseXML();  send();

      發起Ajax請求 :   

            var ajaxReq = new AjaxRequest();

 

AjaxReques.prototype.send = function(type, url, handeler, postDataType, postData) {

  if(this.request != null){

    //Kill the previous request 

    this.request.abor();

 

    //Tack on a dummy parameter to override brower caching

    url  += "?dummy" + new Date().getTime();

 

    try{

      this.request.onreadystatechange = handler;

      this.request.open(type, url, true);

      if(tyoe.toLowerCase() == "get"){

        //Send a GET request; no data invoived 

        this.request.send (null);

      }else{

        //Send a POST request; the last argument is data 

        this.request.setRequestHeader("Content - Type", postDataType);

        this.request.send(postData);

      }

    }catch(e){

    alert("Ajax error conmunicating with the seerver.\n" + "Details :" +e );

    }

  }

}

 

因此  

var ajaxReq = new ajaxRequest();

ajaxReq.send (type, url, handler, postDataType, postData);

  type:get 或者 post

  url: 服務器的URL

  handler: 處理響應的回調函數

  postDataType: 被傳送的數據類型 只用於post  :charset = UTF-8 ;

 

function getText(element)

 

分開建立JS 文件

相關文章
相關標籤/搜索