code: function each(collection, callback) {
          if (utils.isNode(collection) || collection === window || collection === document) {
              collection = [collection];
          }
          if (!utils.isArrayLike(collection) && !utils.isObject(collection)) {
              collection = [collection];
          }
          if (utils.size(collection) == 0) {
              return;
          }
  
          if (utils.isArrayLike(collection) && !utils.isObject(collection)) {
              var l = collection.length,
                  i = 0;
              for (; i < l; i++) {
                  if (callback.call(collection[i], collection[i], i, collection) === false) {
                      break;
                  }
              }
          } else if (utils.isObject(collection)) {
              for (var key in collection) {
                  if (utils.has(collection, key)) {
                      if (callback.call(collection[key], collection[key], key, collection) === false) {
                          break;
                      }
                  }
              }
          }
      }
docs: Each
  
  @param {mixed} node lisy, array, object
  @param {function} callback