code: function isArrayLike(obj) {
          if (obj && typeof obj === "object" && !avalon.isWindow(obj)) {
              var n = obj.length
              if (+n === n && !(n % 1) && n >= 0) { //检测length属性是否为非负整数
                  try {
                      if ({}.propertyIsEnumerable.call(obj, "length") === false) { //如果是原生对象
                          return Array.isArray(obj) || /^\s?function/.test(obj.item || obj.callee)
                      }
                      return true
                  } catch (e) { //IE的NodeList直接抛错
                      return true
                  }
              }
          }
          return false
      }
docs: 只让节点集合，纯数组，arguments与拥有非负整数的length属性的纯JS对象通过