<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    This Is A FineDay

      BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
      93 隨筆 :: 0 文章 :: 69 評論 :: 0 Trackbacks

    ( ).Prototype 1.5 rc2) 使用指南之 array.js

    $A = Array.from(iterable): iterable 轉(zhuǎn)化為數(shù)組,如果 iterable 定義了 toArray 方法,就調(diào)用這個方法,否則利用 iterable length 屬性進(jìn)行枚舉 , 如果 iterable 沒有 length 屬性的話就返回空數(shù)組 []

    Array 對象除了擴(kuò)展 Enumerable 對象的方法外,另外擴(kuò)展了如下的幾個方法,

    注意以下方法除了 clear 外都不改變原來數(shù)組,而是返回一個新數(shù)組:

    clear(): 清除數(shù)組,利用 arr.length=0

    first(): 返回第一個元素

    last() :返回最后一個元素

    compact(): 去除數(shù)組中值為 null undefined 的元素

    flatten(): 將數(shù)組扁平化,例如 [3,4,[6,7]] 變?yōu)?/span> [3,4,6,7]

    without(): 去除指定的元素 , 可以指定多個值 , 例如 [4,56,7,8].without(4,7) 返回 [56 8]

    indexOf(object): 返回指定的元素在數(shù)組中的索引,不包含則返回 -1

    reverse(inline) Array 內(nèi)置函數(shù) reverse 的增強(qiáng),當(dāng) inline true 時,跟內(nèi)置的 reverse 函數(shù)效果一樣,改變原數(shù)組的值,否則不改變原來的值

    reduce(): 如果數(shù)組只有一個元素,則返回這個元素,否則返回數(shù)組本身

    uniq(): 返回沒有重復(fù)元素的數(shù)組

    clone(): 返回一個跟數(shù)組相同的數(shù)組, Array 中的 toArray 方法覆蓋了 Enumerable 中的 toArray 方法,指向了這個方法

    inspect(): 跟數(shù)組的 toString 方法類似,返回對象的字符串表示,例如 [2,3].inspect() 返回 "[2,3]"

    ( ).Prototype 1.5 rc2) 使用指南之 hash.js

    Hash 對象 ( 關(guān)聯(lián)數(shù)組 ) Prototype 新建的一個對象,要創(chuàng)建一個 Hash 對象可以調(diào)用 $H(object) 方法,使用這個方法將生成一個基于 object 對象的 Hash 對象,生成的 Hash 對象將 object 的屬性名作為 key ,將 object 的屬性值最為鍵值,因為 javascript 本身的特點 ( 對象本身就是關(guān)聯(lián)數(shù)組 ) ,所以實現(xiàn) Hash 也很簡單, Prototype 中的 Hash 只是 javascript 的關(guān)聯(lián)數(shù)組 ( 對象 ) 而已

    Prototype 中的 Hash 對象繼承自 Enumerable 對象,所以也具有 Enumerable 對象的所有屬性和方法,另外它具有以下的方法:

    keys(): 返回 hash 的鍵值數(shù)組

    values(): 返回值得數(shù)組

    merge(hash): 合并兩個 hash

    toQueryString(): string toQueryParams 方法想法,將 hash 轉(zhuǎn)化為一個 querystring, 會調(diào)用 encodeURIComponent 對鍵和值進(jìn)行編碼

    inspect(): hash 的字符串表示

    因為 hash 只是 javascript 的一個普通的對象而已,所以添加一個鍵值對使用: hash[key]=value 就可以了,刪除一個鍵值對使用 detele hash[key] 就可以了

    ( ).Prototype 1.5 rc2) 使用指南之 range.js

    Range 對象是一個繼承自 Enumerable " 范圍 " 對象,你可以把它看成 [x,x+1,x+2,x+3 …… x+n] 的數(shù)組看待,但是比這樣的數(shù)組更節(jié)省存儲空間,因為 range 對象只是保存 x x+n 而已

    要創(chuàng)建一個 Range 對象調(diào)用 $R(start, end, exclusive) 函數(shù)就可以了, exclusive 指定是否包含 end 本身,如果沒有指定或為 false 則包含 end ,否則不包含 , 你可以利用 Enumerable 中定義的方法來操作 range 對象, range 對象只是實現(xiàn)了 Enumerable 對象需要的枚舉邏輯 _each 和覆蓋了 include 方法而已

    ( ).Prototype 1.5 rc2) 使用指南之 ajax

    Prototype 中的 ajax.js 提供了一個非常好用的 ajax 框架,一般應(yīng)用中簡單的調(diào)用以下代碼就可以了

    new Ajax.Request(

    ??? url, {method: “get”,

    ??? onSuccess: showFilter,

    ??? onFailure: function(request){alert(”Server error!”)},

    ??? onException: showError}

    ? );

    這個框架中提供了如下的對象和方法等:

    Ajax 對象:

    只有一個 getTransport 方法,返回一個 XMLHttpRequest 對象,另外有一個 activeRequestCount 屬性,反映當(dāng)前正在處理的 ajax 數(shù)量

    Ajax.Responders 對象:

    繼承自 Enumerable ,管理全局 Ajax 的請求,具有如下方法

    register(responder) :注冊一個管理 ajax 請求的對象

    unregister(responder) :撤銷一個管理 ajax 請求的對象

    dispatch(callback, request, transport, json) :觸發(fā)注冊的處理對象的方法

    這個對象一般很少使用,系統(tǒng)中已經(jīng)使用如下的代碼注冊了一個處理對象

    Ajax.Responders.register({

    ? onCreate: function() {

    ??? Ajax.activeRequestCount++;

    ? },

    ? onComplete: function() {

    ??? Ajax.activeRequestCount–;

    ? }

    });

    Ajax.Base 類:

    Ajax 的基類 , 只有一個方法 setOptions(options), 默認(rèn) request 參數(shù)如下,你可以在新建 Ajax.request 時指定:

    method:?????? 'post’,

    asynchronous: true,

    contentType:? 'application/x-www-form-urlencoded’,

    encoding:???? ' UTF-8 ,

    Ajax.Request 類:

    ajax 主要的類,繼承自 ajax.base 類,客戶端使用 new Ajax.Request(url,options) 調(diào)用, options 是一個對象 ( 關(guān)聯(lián)數(shù)組 ), options 中可以指定 method , asynchronous contentType , encoding , parameters , postBody , username,password 等選項,其中 parameters 可以是字符傳或者關(guān)聯(lián)數(shù)組象,

    另外在 options 中還可以通過 requestHeaders 指定 request heads ,其中 requestHeaders 可以是數(shù)組 ( 例如 [ Connection , Close , aheadkey , aheadvalue ]) 或一個關(guān)聯(lián)數(shù)組;

    options 中最重要的選項就是指定 ajax 的回調(diào)方法,可以定義 onComplete, onSuccess, onFailure, onException( 執(zhí)行過程中發(fā)生異常調(diào)用的方法,主要為 onComplete, onSuccess, onFailure 等回調(diào)方法產(chǎn)生的 ) ,甚至可以定義 on404,on503 這樣的回調(diào)方法,它們的參數(shù)為 (transport, json), 其中 transport 為請求的 XMLHttpRequest 對象 , json evalJSON 的結(jié)果

    如果返回的是一個 javascript 文件 ( 根據(jù)返回的 Content-type 頭判斷 ) 將會執(zhí)行 evalResponse 方法,另外 Ajax.Request 對象還有一個 evalJSON 方法,取得文件的時候就會執(zhí)行

    這個對象的方法列表如下:

    request(url) : 發(fā)送請求, new 的時候就已經(jīng)調(diào)用了,所以一般不需要使用

    success(): 判斷 request 是否成功了

    getHeader(name) :根據(jù) name 得到 request head

    evalJSON(): 執(zhí)行 getHeader( X-JSON ), 并返回結(jié)果

    evalResponse(): 執(zhí)行返回的 responseText 并返回

    Ajax.Updater :

    繼承自 Ajax.Request ,只是比 Ajax.Request 增加了更新 html 元素的功能,一般使用方法是 new Ajax.Updater(element, url, options), element 可以是一個元素,也可以是 {success:e1,failure:e2} 這種形式 ,

    默認(rèn)情況下不會執(zhí)行返回結(jié)果中的 javascript ,如果你先執(zhí)行,你可以指定 options 中的 evalScripts true

    默認(rèn)情況下是替換指定元素的內(nèi)容,如果你希望是添加,可以指定 options insertion 參數(shù) , insertion 是一個 Insertion.Before 、 Insertion.Top Insertion.Bottom Insertion.After( 將在 dom.js 中介紹 )

    Ajax.PeriodicalUpdater :

    繼承自 Ajax.Base ,周期性的更新一個 html 元素的內(nèi)容,這個類會調(diào)用 Ajax.Updater html 元素進(jìn)行周期性的更新,使用方法為 new Ajax.PeriodicalUpdater(container, url, options), 參數(shù)跟 Ajax.Updater 差不多,其中 options 可以設(shè)置 frequency( 默認(rèn)為 2) decay , decay 指的是當(dāng)請求的內(nèi)容沒有變化的時候, frequency 需要延長的倍數(shù),默認(rèn)是 1 ,例如如果 decay 設(shè)為 2 , frequency 設(shè)為 3 而內(nèi)容一直沒有變化,則請求的時間依次會變?yōu)?/span> 3,6,12,24

    start(): 開始更新 , 初始化的時候會自動調(diào)用

    stop(): 停止更新
    posted on 2008-07-03 21:46 Peter Pan 閱讀(209) 評論(0)  編輯  收藏 所屬分類: JS
    主站蜘蛛池模板: 免费国产真实迷j在线观看| 456亚洲人成影院在线观| 妞干网在线免费观看| 性色午夜视频免费男人的天堂| 国产精品亚洲专一区二区三区| 亚洲另类小说图片| 亚洲国产精品国自产电影| 亚洲精品尤物yw在线影院| 在线观看无码的免费网站| 国产成人无码免费看视频软件 | 超pen个人视频国产免费观看| 97视频免费观看2区| 全黄大全大色全免费大片| 免费人成视频在线播放| 亚洲国产精品成人综合色在线| 亚洲成av人片在线看片| 久久精品国产亚洲| 精品亚洲永久免费精品| 久久亚洲国产成人精品无码区| 免费观看国产小粉嫩喷水| 日本高清免费aaaaa大片视频| 无码人妻一区二区三区免费| 很黄很黄的网站免费的| 免费A级毛片av无码| 最近免费字幕中文大全| 羞羞视频免费网站在线看| 一级视频免费观看| 本道天堂成在人线av无码免费 | 国产成人99久久亚洲综合精品| 一本色道久久88综合亚洲精品高清| 日本免费人成黄页网观看视频| 成年午夜视频免费观看视频| 最近2019中文字幕免费看最新| 免费精品国产自产拍在| 91免费精品国自产拍在线不卡| 美女内射毛片在线看免费人动物| 91精品国产免费| 免费看国产成年无码AV片 | 亚洲AV成人无码久久WWW| 亚洲国产日韩a在线播放| 看亚洲a级一级毛片|