标签:http io os ar 使用 java for sp on
我们很容易被漂亮的代码吸引,也不知不觉的在自己的代码库中加入这些。却没有冷静的想过它们的优劣。这不,我就收集了一系列形如 "是否为……?" 的判断的boolean函数。
isNull: function(a){
return a === null;
},
isUndefined: function(a){
return a === undefined;
},
isNumber: function(a){
return typeof a === ‘number‘;
},
isString: function(a){
return typeof a === ‘string‘;
},
isBoolean: function(a){
return typeof a === ‘boolean‘;
},
isPrimitive: function(b){
var a = typeof b;
return !!(b === undefined || b === null || a == ‘boolean‘ || a == ‘number‘ || a == ‘string‘);
},
isArray: function(a){
return proto_obj.toString.call(a) === ‘[object Array]‘;
},
isFunction: function(a){
return proto_obj.toString.call(a) === ‘[object Function]‘;
},
isPlainObject: function(o){
if (!o || o === win || o === doc || o === doc.body) {
return false;
}
return ‘isPrototypeOf‘ in o && proto_obj.toString.call(o) === ‘[object Object]‘;
},
isWindow: function(o){
return o && typeof o === ‘object‘ && ‘setInterval‘ in o;
},
isEmptyObject: function(o){
for(var a in o) {
return false;
}
return true;
}
以上isXX系列中,isUndefined在类库中用的最多。如判断是否传入了某个参数,判断对象是否拥有某个属性等等。但这个函数是不必存在,我已将其移除。理由如下
综上,我去掉了类库中对基本类型判断的isNull/isUndefined/isBoolean/isNumber/isString,需要用到这些判断的时候直接使用typeof运算符等。
标签:http io os ar 使用 java for sp on
原文地址:http://www.cnblogs.com/xiaoyang002/p/4047326.html