最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

惰性函數(shù)定義模式 使用方法第3/3頁(yè)

 更新時(shí)間:2007年09月20日 19:55:43   作者:  

總結(jié)

惰性函數(shù)定義模式讓我可以編寫(xiě)一些緊湊、健壯、高效的代碼。用到這個(gè)模式的每一次,我都會(huì)抽空贊嘆JavaScript的函數(shù)式編程能力。

JavaScript同時(shí)支持函數(shù)式和面向?qū)ο蟊愠?。市面上有很多重點(diǎn)著墨于面向?qū)ο笤O(shè)計(jì)模式的書(shū)都可以應(yīng)用到JavaScript編程中。不過(guò)卻沒(méi)有多少書(shū)涉及函數(shù)式設(shè)計(jì)模式的例子。對(duì)于JavaScript社區(qū)來(lái)說(shuō),還需要很長(zhǎng)時(shí)間來(lái)積累良好的函數(shù)式模式。

更新:

這個(gè)模式雖然有趣,但由于大量使用閉包,可能會(huì)由于內(nèi)存管理的不善而導(dǎo)致性能問(wèn)題。來(lái)自 FCKeditor 的FredCK改進(jìn)了getScrollY,既使用了這種模式,也避免了閉包:
復(fù)制代碼 代碼如下:

var getScrollY = function() { 

    if (typeof window.pageYOffset == 'number') 
        return (getScrollY = getScrollY.case1)(); 

    var compatMode = document.compatMode; 
    var documentElement = document.documentElement; 

    if ((typeof compatMode == 'string') && 
               (compatMode.indexOf('CSS') >= 0) && 
               (documentElement) && 
               (typeof documentElement.scrollTop == 'number')) 
        return (getScrollY = getScrollY.case2)(); 

    var body = document.body ; 
    if ((body) && 
               (typeof body.scrollTop == 'number')) 
        return (getScrollY = getScrollY.case3)(); 

    return (getScrollY = getScrollY.case4)(); 
}; 

getScrollY.case1 = function() { 
    return window.pageYOffset; 
}; 

getScrollY.case2 = function() { 
    return documentElement.scrollTop; 
}; 

getScrollY.case3 = function() { 
    return body.scrollTop; 
}; 

getScrollY.case4 = function() { 
        return NaN; 
}; 

相關(guān)文章

  • JS獲取表格視圖所選行號(hào)的ids過(guò)程解析

    JS獲取表格視圖所選行號(hào)的ids過(guò)程解析

    這篇文章主要介紹了JS獲取表格視圖所選行號(hào)的ids過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-02-02
  • JS跳出循環(huán)的方法區(qū)別對(duì)比分析(break,continue,return)

    JS跳出循環(huán)的方法區(qū)別對(duì)比分析(break,continue,return)

    面向?qū)ο缶幊陶Z(yǔ)法中我們會(huì)碰到break ,continue, return這三個(gè)常用的關(guān)鍵字,那么關(guān)于這三個(gè)關(guān)鍵字的使用具體的操作是什么呢?接下來(lái)通過(guò)本文給大家講解JS跳出循環(huán)的方法區(qū)別對(duì)比分析(break,continue,return),感興趣的朋友一起看看吧
    2023-02-02
  • 前端實(shí)現(xiàn)多個(gè)內(nèi)容滑動(dòng)輪播圖效果實(shí)例

    前端實(shí)現(xiàn)多個(gè)內(nèi)容滑動(dòng)輪播圖效果實(shí)例

    在前端開(kāi)發(fā)中,滑動(dòng)輪播圖是一種常見(jiàn)的交互元素,用于展示多張圖片或內(nèi)容,這篇文章主要介紹了前端實(shí)現(xiàn)多個(gè)內(nèi)容滑動(dòng)輪播圖效果的相關(guān)資料,文中給出了詳細(xì)的代碼示例,需要的朋友可以參考下
    2025-04-04
  • package.json與package-lock.json的區(qū)別及詳細(xì)解釋

    package.json與package-lock.json的區(qū)別及詳細(xì)解釋

    不知道大家平時(shí)在開(kāi)發(fā)中有沒(méi)有注意到,你的項(xiàng)目中有兩個(gè)文件:package.json,package-lock.json,應(yīng)該很多人平時(shí)都不會(huì)去關(guān)注這兩個(gè)文件有啥關(guān)系吧,這篇文章主要給大家介紹了關(guān)于package.json與package-lock.json的區(qū)別及詳細(xì)解釋,需要的朋友可以參考下
    2022-08-08
  • JavaScript刪除數(shù)組元素的方法

    JavaScript刪除數(shù)組元素的方法

    這篇文章主要介紹了JavaScript刪除數(shù)組元素的方法,實(shí)例分析了javascript中delete函數(shù)的使用技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-03-03
  • JS實(shí)現(xiàn)十字坐標(biāo)跟隨鼠標(biāo)效果

    JS實(shí)現(xiàn)十字坐標(biāo)跟隨鼠標(biāo)效果

    這篇文章給大家分享一下通過(guò)JS實(shí)現(xiàn)十字坐標(biāo)跟隨鼠標(biāo)效果的代碼,有需要的朋友參考學(xué)習(xí)下吧。
    2017-12-12
  • javascript中callee與caller的區(qū)別分析

    javascript中callee與caller的區(qū)別分析

    有些小伙伴可能會(huì)問(wèn)caller,callee 是什么?在javascript 中有什么樣的作用?那么本篇會(huì)對(duì)于此做一些基本介紹。希望能夠?qū)Υ蠹依斫鈐avascript中的callee與caller有所幫助。
    2015-04-04
  • 基于bootstrap寫(xiě)的一點(diǎn)localStorage本地儲(chǔ)存

    基于bootstrap寫(xiě)的一點(diǎn)localStorage本地儲(chǔ)存

    這篇文章主要介紹了基于bootstrap寫(xiě)的一點(diǎn)localStorage本地儲(chǔ)存,需要的朋友可以參考下
    2017-11-11
  • Sublime Text 3常用插件及安裝方法

    Sublime Text 3常用插件及安裝方法

    這篇文章主要介紹了Sublime Text 3常用插件及安裝方法的相關(guān)資料,需要的朋友可以參考下
    2015-12-12
  • js判斷瀏覽器是否支持嚴(yán)格模式的方法

    js判斷瀏覽器是否支持嚴(yán)格模式的方法

    除了正常運(yùn)行模式,ECMAscript 5添加了第二種運(yùn)行模式:"嚴(yán)格模式"(strict mode)。顧名思義,這種模式使得Javascript在更嚴(yán)格的條件下運(yùn)行。這篇文章給大家詳細(xì)介紹了js判斷瀏覽器是否支持嚴(yán)格模式的方法,有需要的朋友們可以參考借鑒。
    2016-10-10

最新評(píng)論

高州市| 红桥区| 紫阳县| 安阳县| 壤塘县| 西林县| 株洲县| 东平县| 望江县| 揭阳市| 宿松县| 丰城市| 安义县| 剑阁县| 阿图什市| 右玉县| 延寿县| 垫江县| 昌江| 桦南县| 尚义县| 安西县| 黎城县| 博乐市| 绿春县| 汝南县| 阆中市| 金湖县| 万山特区| 龙门县| 溧水县| 砚山县| 永定县| 汾阳市| 宁明县| 静安区| 大埔县| 内江市| 黔西县| 绥棱县| 西丰县|