// 遍历数组/类数组/对象中的每一项
var each = function each(obj, callback) {
var length,
i = 0,
item,
index,
result,
keys
if (isArrayLike(obj)) {
length = obj.length
for (
item = obj[i]
index = i
result = callback.call(item, item, index)
if (result === false) break
}
} else {
if (obj == null) throw new TypeError('obj not be a null/undefined!')
keys = Object.keys(obj)
typeof Symbol !== "undefined" ? keys = keys.concat(Object.getOwnPropertySymbols(obj)) : null
length = keys.length
for (
index = keys[i]
item = obj[index]
result = callback.call(item, item, index)
if (result === false) break
}
}
return obj
}