代码 function isEmpty(obj) { if (obj === null) return true; if (typeof obj === 'undefined') { return true; } if (typeof obj === 'string') { if (obj === "") { return true; } var reg = new RegExp("^([ ]+)|([ ]+)$"); return reg.test(obj); }…
最近项目遇到判断空对象的一个问题,查阅相关资料再进行总结一下. 判断空对象不比判断空字符串之类的,因为空对象也是一个对象,需要单独分配内存,而不是像字符串那样为空时就是大锅饭,大家都相等,如下代码: 如上代码可以发现,无论是通过对象字面量方式创建的空对象还是通过Object构造函数创建的空对象,彼此之间都是不相等的. 1.将对象转换为字符串进行比较 这种方法很不推荐,但也确实是最容易想到的,主要使用JSON.stringify()这个方法对对象进行强转,贴出来仅供一看: var a={}; va…
简单总结几个方法: 1.直观的: if(s == null ||"".equals(s)); //先判断是否对象,再判断是否是空字符串 2.比较字符串长度, 效率高, 比较绕: if(s == null || s.length() <= 0); 3.效率和方法三几乎相等, 但出于兼容性考虑,不建议此方法. if(s == null || s.isEmpty()); 4.看起来高大上的: if(StringUtils.isNotBlank(str)) //判断字符串不为空 if(S…
今天碰到java中去判断String是否为空字符串的时候,用了S.length() ==0, s.equals(null), s.isEmpty(), 都失败. 后来用S.trim().equals("")解决了.trim这个方法是去点掉字符串中的空格后再做是否为空的比较.记录下来,希望对大家有帮助.…
注意:在js中0为空(false) ,代表空的还有“”,null ,undefined: 如果做判断if(!上面的四种值):返回均为false console.log(!null);// true console.log(!0);//true console.log(!"");// true console.log(!undefined);// true console.log(0=="");//true console.log(0==" ");…
var attr1 = [ ]; var obj1 = { }; console.log(isEmpty(attr1)); console.log(isEmpty(obj1)); function isEmpty(obj) { if (!obj && obj !== 0 && obj !== '') { // 检验 undefined 和 null return true; } if (Array.prototype.isPrototypeOf(obj) &&…
以下是不正确的方法:var exp = null;if (exp == null){ alert("is null");}exp 为 undefined 时,也会得到与 null 相同的结果,虽然 null 和 undefined 不一样.注意:要同时判断 null 和 undefined 时可使用本法. var exp = null;if (!exp){ alert("is null");}如果 exp 为 undefined,或数字零,或 false,也会得到与…
- (BOOL) isBlankString:(NSString *)string { if (string == nil || string == NULL) { return YES; } if ([string isKindOfClass:[NSNull class]]) { return YES; } if ([[string stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]] length]=…
那么为什么if(a.Length==0)最快呢?因为整数判断等于最快,没有经过实例化等复杂的过程. 所以:建议大家判断字符串是否为空用 if(a.Length==0). 对于三种方法的评价: 1.if(a=="") // ""需要实例化一个String对象,最差2.if(a==String.Empty) // String.Empty是常量,不需要实例化3.if(a.Length==0) // a.Length虽然最快,但是语意不如第2种清晰 另,String.Is…
3种方法分别是:string a="";1.if(a=="")2.if(a==String.Empty)3.if(a.Length==0) 3种方法都是等效的,那么究竟那一种方法性能最高呢?本人用实验说明问题. 建立3个aspx页面(为什么用网页,主要是利用Microsoft Application Center Test ) WebForm1.aspxprivate void Page_Load(object sender, System.EventArgs e)…