zoukankan      html  css  js  c++  java
  • Each的实现

    function (object, callback, args) {
    //该方法有三个参数:进行操作的对象obj,进行操作的函数fn,函数的参数args
    var name, i = 0,length = object.length;
    if (args) {
     if (length == undefined) {
      for (name in object)
      {
       if (callback.apply(object[name], args) === false)
       {
        break;
       }
      }
     }
     else
     {
      for (; i < length;)
       {
       if (callback.apply(object[i++], args) === false)
       {
          break;
       }
      }
     }
    }
    else
    {
     if (length == undefined) {
      for (name in object) {
          if (callback.call(object[name], name, object[name]) === false) {
             break;
       }
      }
     }
      else
      {
      for (var value = object[0]; i < length && callback.call(value, i, value) !== false; value = object[++i]) {}
      /*object[0]取得jQuery对象中的第一个DOM元素,通过for循环,
      得到遍历整个jQuery对象中对应的每个DOM元素,通过 callback.call( value,i,value);
      将callback的this对象指向value对象,并且传递两个参数,i表示索引值,value表示DOM元素;
      其中callback是类似于 function(index, elem) { ... } 的方法。
      所以就得到 $("...").each(function(index, elem){ ... });
      */
      }
     }
     return object;
    }

  • 相关阅读:
    JSONP原理
    什么是跨域,如何解决
    工程化与模块化开
    vue双向数据绑定原理
    vuex原理
    BFC 原理
    http状态码 301、302区别
    用户页面打开很慢,有哪些优化方式?
    webpack打包
    Promise 原理
  • 原文地址:https://www.cnblogs.com/yongtaiyu/p/2872602.html
Copyright © 2011-2022 走看看