Javascript 學習 筆記五

來源:互聯網
上載者:User

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:服務端返回內容

聯繫我們

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