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