Javascript 學習 筆記五
1、事件冒泡
在一個對象上觸發某類事件(比如單擊onclick事件),如果此對象定義了此事件的處理常式,那麼此事件就會調用這個處理常式,如果沒有定義此事件處理常式或者事件返回true,那麼這個事件會向這個對象的父級對象傳播,從裡到外,直至它被處理(父級對象所有同類事件都將被啟用),或者它到達了對象層次的最頂層,即document對象(有些瀏覽器是window)。
2、offset、scroll、client(來自網路,侵刪)
3、JavaScript Cookies
cookie是瀏覽器提供的一種機制,它將document 對象的cookie屬性提供給JavaScript。可以由JavaScript對其進行控制,而並不是JavaScript本身的性質。cookie是存於使用者硬碟的一個檔案,這個檔案通常對應於一個網域名稱,當瀏覽器再次訪問這個網域名稱時,便使這個cookie可用。因此,cookie可以跨越一個網域名稱下的多個網頁,但不能跨越多個網域名稱使用。
感覺有點像C#中的字典等KVStore for Redis,比如:
document.cookie = "userName=xiaoming"; document.cookie = "userName=xiaohong";
會有重設的效果
建立和儲存 cookie:
function setCookie(c_name, value, expiredays) { var exdate = new Date() exdate.setDate(exdate.getDate() + expiredays) document.cookie = c_name + "=" + escape(value) + ((expiredays == null) ? "" : ";expires=" + exdate.toGMTString()) }
否已設定 cookie:
function getCookie(c_name) { if (document.cookie.length > 0) { c_start = document.cookie.indexOf(c_name + "=") if (c_start != -1) { c_start = c_start + c_name.length + 1 c_end = document.cookie.indexOf(";", c_start) if (c_end == -1) c_end = document.cookie.length return unescape(document.cookie.substring(c_start, c_end)) } } return "" }
4、Ajax
AJAX即“Asynchronous Javascript And XML”(非同步JavaScript和XML),是指一種建立互動式網頁應用的網頁開發技術。
AJAX = 非同步 JavaScript和XML(標準通用標記語言 (SGML)的子集)。
AJAX 是一種用於建立快速動態網頁的技術。
通過在後台與伺服器進行少量資料交換,AJAX 可以使網頁實現非同步更新。這意味著可以在不重新載入整個網頁的情況下,對網頁的某部分進行更新。
傳統的網頁(不使用 AJAX)如果需要更新內容,必須重載整個網頁頁面。
小函數:
function ajax(url, fnSucc, fnFaild) { //1.建立Ajax對象 var oAjax = null; if (window.XMLHttpRequest) { oAjax = new XMLHttpRequest(); } else { oAjax = new ActiveXObject("Microsoft.XMLHTTP"); } //2.串連伺服器 oAjax.open('GET', url, true); //3.發送請求 oAjax.send(); //4.接收伺服器的返回 oAjax.onreadystatechange = function () { if (oAjax.readyState == 4)//完成 { if (oAjax.status == 200)//成功 { fnSucc(oAjax.responseText); } else { if (fnFaild) fnFaild(oAjax.status); } } };}
請求狀態監控
onreadystatechange事件
readyState屬性:請求狀態
0 (未初始化)還沒有調用open()方法
1 (載入)已調用send()方法,正在發送請求
2 (載入完成)send()方法完成,已收到全部響應內容
3 (解析)正在解析響應內容
4 (完成)響應內容解析完成,可以在用戶端調用了
status屬性:請求結果
responseText:服務端返回內容