<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 文件