yylib-quick-mobile
Version:
yylib-quick-mobile
74 lines (73 loc) • 1.9 kB
JavaScript
var cloneDeep = require('lodash/cloneDeep');
var FunctionUtil = {
/**重写lodash的方法*/
isFunction(source){
return typeof(source) === "function";
},
forIn(object, callback, args) {
var name, i = 0,length = object&&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], object[name], name) === false) {
break;
}
}
}
else {
for (var value = object[0]; i < length && callback.call(value, value, i) !== false; value = object[++i]) {}
}
}
return object;
},
forEach(object, callback, args) {
var name, i = 0,length = object&&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, value,i) !== false; value = object[++i]) {}
}
}
return object;
},
deepClone:cloneDeep
}
module.exports = FunctionUtil;