• 技术文章 >web前端 >js教程

    关于jquery性能最佳实践的讨论,与求教_jquery

    2016-05-16 17:54:44原创425
    原因是我在测试的时候:带入了错误的变量。具体可以查看图片上的 $(parentID > childClass) 我直接比较两个字符换大小了!
    感谢 html5中文网 QQ群中的 “不见丘比特”。

    其中第三点提到父元素与子元素的关系中提到了 从父元素选择子元素的用例:
    复制代码 代码如下:

     $('.child', $parent)
      $parent.find('.child')
      $parent.children('.child')
      $('#parent > .child')
      $('#parent .child')
      $('.child', $('#parent'))

    在其所给的测试用例中 确实是使用jquery的find方法最快,但是稍作修改却得到了另外的一个结果$('#parent > .child')完胜。

    在作者的用例中只是直接缓存了对象 $('#parent');但是当我们把dom的id和class属性作为常量定义并传入测试用例中的时候就出现我说的另外一个结果。
    作者原生测试页面:http://jsperf.com/bell-selector
    结果截图:

    修改后的测试页面:http://jsperf.com/bell-selector/2
    结果截图:


    同时给我我从真实环境中取出来的一块代码段所做的测试,同样也是$('#parent > .child')这样的写法最快。
    测试页面:http://jsperf.com/findchildren
    结果截图:

    从以上结果截图中可以看到,我给出的两个测试结果明显是使用了大于号选择符的那个性能做好。

    请各位看到此文或者了解详情的能给一个说明。关于文章中的其它内容都是比较好的观点。
    文章:http://www.jb51.net/article/28056.htm

    园子中那位有时间和条件的可以对以上各个操作做一次调试,给出详细的流程说明。我要等到手中的项目做完才有时间来调试这个过程。
    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:jquery性能 最佳实践
    上一篇:50款非常棒的 jQuery 插件分享_jquery 下一篇:js 页面左右两侧居中广告代码_布局与层
    千万级数据并发解决方案

    相关文章推荐

    • 完全掌握JavaScript的Date对象• 浅析Node.js中的Buffer,聊聊事件循环• angular学习之聊聊组件通讯和组件生命周期• JavaScript内置对象Math实例分享• angular学习之聊聊指令和管道
    1/1

    PHP中文网