页面导航: 首页网络编程JavaScript应用技巧 → 正文内容

惰性函数定义模式 使用方法第3/3页

发布:dxy 字体:[增加 减小] 类型:转载

总结
惰性函数定义模式让我可以编写一些紧凑、健壮、高效的代码。用到这个模式的每一次,我都会抽空赞叹JavaScript的函数式编程能力。
JavaScript同时支持函数式和面向对象便程。市面上有很多重点着墨于面向对象设计模式的书都可以应用到JavaScript编程中。不过却没有多少书涉及函数式设计模式的例子。对于JavaScript社区来说,还需要很长时间来积累良好的函数式模式。
更新:
这个模式虽然有趣,但由于大量使用闭包,可能会由于内存管理的不善而导致性能问题。来自 FCKeditor 的FredCK改进了getScrollY,既使用了这种模式,也避免了闭包:

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; 
}; 
当前3/3页 上一页123
浏览次数:载入中... 打印本文关闭本文返回首页
·在百度中搜索关于“惰性函数定义模式 使用方法”相关内容
·在谷歌中搜索关于“惰性函数定义模式 使用方法”相关内容

文章评论

共有 位脚本之家网友发表了评论我来说两句

同 类 文 章
最 近 更 新
热 点 排 行