zoukankan      html  css  js  c++  java
  • 阅读jQuery源代码带给我们的18个惊喜

    相信大家都非常熟悉jQuery类库,绝对最受欢迎的JS框架,如果你也有兴趣阅读v源代码的话,或者你也会有同感。

    以下便是阅读jQuery源代码后挖掘的18条令人惊奇的信息:

    原文:阅读jQuery源代码带给我们的18个惊喜

    1. sizzle的大小

    Sizzle是用来帮助jQuery实现DOM查询操作的引擎,可能你不知道它占用了jQuery源代码的22%。

    其次最大的特性是$.ajax,占用了jQuery源代码中的8%。

    2. $.grep

    这个方法类似underscore中的_.filter方法,使用两个参数,一个数组变量和一个回调函数,返回通过回调函数为true的元素。

    3. 冒泡提醒

    jQuery特意的阻止了一个事件类型的气泡。这就是load事件,jQuery传递了一个特别的noBubble:true来阻止事件冒泡到window对象(这可能导致错误的匹配了window.load事件)

    4. 缺省的动画速度

    jQuery通过快速的变化元素样式属性来实现动画。每一个变化被叫做一个"滴答"。缺省的动画速度是每13毫秒滴答一次,你可以通过重写jQuery.fx.interval来修改缺省的值

    5. $.fn.addClass接受一个方法

    我们通常提供$.fn.addClass一个class定义名称。但是它同样可以支持方法。你只需要方法返回一个空格分隔的字符串class定义即可。这个方法甚至接受元素的索引为参数,这样我们可以构建自己的只能class名。

    6. $.fn.removeClass同样支持

    这个方法也可以支持接受方法为参数,和$.fn.addClass一样。

    7. :empty伪选择器

    这个伪选择器可以匹配所有没有子元素的元素

    8. :lt和:gt伪选择器

    这些伪选择器基于索引来匹配。例如,$('div:gt(2)')将会返回所有的div除了前3个元素(基于0索引)。如果你提供一个负值,那么就从末尾算起。

    9. $(document.ready()使用了promise

    jQuery内部使用了jQuery的deferred来保证DOM完整被加载

    10. $.type

    大家可能都熟悉typeof来判断数据类型,但是你是否知道jQuery提供了.type()方法?这个方法比浏览器本地版本更智能。

    例如,typeof(new Number(3))返回了“object”,然而$.type(new Number(3))放回数字。

    更确切的说$.type告诉你返回对象的值类型

    。。。。。

    。。。。。

    阅读原文:阅读jQuery源代码带给我们的18个惊喜

  • 相关阅读:
    SQL基本之增删查改操作
    【转】C++静态库与动态库
    使用日志记录功能查看PHP扩展的执行过程
    写一个打印日志的函数
    写一个CGI程序并运行
    gcc及其选项详解 【转载】
    Linux下gcc编译生成动态链接库*.so文件并调用它【转载】
    Laravel框架开发规范-修订版
    Laravel框架开发规范-修订前期版
    基本语句优化10个原则
  • 原文地址:https://www.cnblogs.com/gbin1/p/3892863.html
Copyright © 2011-2022 走看看