使用下划线.js进行空检查
Using underscore.js for null checking
var name = "someName";
if(name !=null) {
// do something
}
- 我现在正在使用 http://underscorejs.org/#isNull,我该怎么办使用
underscore.js
相同 - 它是否在性能方面有任何轻微的改进功能。
在下划线中,您可以使用
if(!_.isNull(name)) {}
在普通的Javascript中,你应该使用
if(name !== null) {}
您应该避免使用松散不等式运算符!=
因为它确实会进行类型强制,并且undefined != null
将返回false
。
使用普通的Javascript稍微快一些,因为它不必调用函数,但它是难以察觉的,几乎不应该是一个考虑因素。
就可读性而言,我都没有强烈的偏好,但是为如此简单的检查调用库函数似乎有点过分和冗长。
在下划线中.js您必须编写此内容才能实现该功能。
var name = "someName";
if(!(_.isNull(name ))) {
// do something
}
在下划线中.js函数isNull
是这样写
_.isNull = function(obj) {
return obj === null;
};
因此,区别在于在您的代码中使用==
,在下划线中使用===
.js.有关该差异的更多详细信息,您可以查看此问题。
在 JavaScript 比较中应该使用哪个等于运算符 (== vs ===)?
附言我建议编写您自己的条件,而不是在如此简单的地方使用任何库。
var name = "someName";
if(name !== null)) {
// do something
}
好吧,
您的原始代码是有缺陷的,因为如果name
是一个空字符串,false
,数字0
或任何其他虚假值,那么就您的测试而言,它将被视为null
。
作为一般规则,调用 ANY 函数是一种开销,应尽可能避免。在这种情况下,调用一个函数只是为了测试一个值是否为空,而你可以很容易地写if( name === null)
,只是愚蠢的,IMO...
if ((!(_.isUndefined(data)) || _.isEmpty(data))) {
//Valid Data
}else {//Not Valid}
相关文章:
- 检查JS是否可以访问iframe的文档
- 如何检查 JS 中的哪个变量是正确的
- javascript(angularjs)检查js对象中是否存在值
- PHP/Javascript-如果PHP文件上传成功,请检查JS
- ng.在角度中检查.js不使用HTML附加
- 检查 JS 变量是否不为 null 和 true
- 是否有任何工具可以检查js文件是否可以安全压缩
- 检查 JS 对象是否存在
- 检查 JS 对象是否匹配值的最佳方法
- 检查JS对象中是否存在元素
- 检查js中直接在html文件中的变量
- 检查JS数组中未定义的变量
- 如何检查js上的字体家族
- 如何检查JS文件是否已加载完毕
- 为什么eslint不检查JS
- 检查 JS 中的数组
- 如何使用ESLint检查js文件的最大行数
- 如何检查JS对象是否实现了一些DOM IDL接口
- 检查js对象的属性是否除3外都为空
- 谷歌地图API加载了一秒钟,然后说检查js控制台,但没有警告或错误,任何想法