js判断为空Null与字符串为空简写方法


Posted in Javascript onFebruary 24, 2014

最近突然发现自己写的JavaScript代码比较臃肿,所以开始研究JavaScript的简写方法。这样一来,可以让我们的JavaScript代码看起来比较清爽,同时也可以提高我们的技术。那么判断为空怎么简写呢?
下面就是有关判断为空的简写方法。
代码如下

if (variable1 !== null || variable1 !== undefined || variable1 !== '') { 
var variable2 = variable1; 
}

上面的意思是说如果variable1不是一个空对象,或者未定义,或者不等于空字符串,那么声明一个variable2变量,将variable1赋给variable2。也就是说如果variable1存在那么就将variable1的值赋给variable2,若不存在则为空字符串。如下面的简写代码。
简写代码:
代码如下
var variable2 = variable1 || '';

以下是不正确的方法:
代码如下
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,也会得到与 null 相同的结果,虽然 null 和二者不一样。注意:要同时判断 null、undefined、数字零、false 时可使用本法。
代码如下
var exp = null; 
if (typeof exp == "null") 
{ 
alert("is null"); 
}

为了向下兼容,exp 为 null 时,typeof null 总返回 object,所以不能这样判断。
代码如下
var exp = null; 
if (isNull(exp)) 
{ 
alert("is null"); 
}

判断字符串是否为空
s 匹配任何空白字符,包括空格、制表符、换页符等等。等价于 [ fnrtv]。 很多情况下,都是用length来直接判断字符串是否为空,如下:
代码如下
var strings = ''; 
if (string.length == 0) 
{ 
alert('不能为空'); 
}

但如果用户输入的是空格,制表符,换页符呢?这样的话,也是不为空的,但是这样的数据就不是我们想要的吧。
其实可以用正则表达式来把这些“空”的符号去掉来判断的
代码如下
var strings = ' '; 
if (strings.replace(/(^s*)|(s*$)/g, "").length ==0) 
{ 
alert('不能为空'); 
}

s 小写的s是,匹配任何空白字符,包括空格、制表符、换页符等等。等价于 [ fnrtv]。
判断为空怎么简写,就为大家介绍到这里,希望上面的方法能对大家有所帮助。
Javascript 相关文章推荐
关闭浏览器输入框自动补齐 兼容IE,FF,Chrome等主流浏览器
Feb 11 Javascript
JS模式之简单的订阅者和发布者模式完整实例
Jun 30 Javascript
将JSON字符串转换成Map对象的方法
Nov 30 Javascript
基于bootstrap风格的弹框插件
Dec 28 Javascript
Bootstrap3 图片(响应式图片&图片形状)
Jan 04 Javascript
微信小程序 刷新上拉下拉不会断详细介绍
May 11 Javascript
微信小程序开发之toast提示插件使用示例
Jun 08 Javascript
微信小程序选择图片和放大预览图片功能
Nov 02 Javascript
详解vue 单页应用(spa)前端路由实现原理
Apr 04 Javascript
使用Layer组件弹出多个对话框(非嵌套)与关闭及刷新的例子
Sep 25 Javascript
详解Vue的ref特性的使用
Jan 24 Javascript
微信小程序APP页面的之间的相互传递参数以及自定义组件
Apr 19 Javascript
JS清空多文本框、文本域示例代码
Feb 24 #Javascript
脚本合并提升javascript性能示例
Feb 24 #Javascript
动态加载脚本提升javascript性能
Feb 24 #Javascript
巧用局部变量提升javascript性能
Feb 24 #Javascript
javascript中的原型链深入理解
Feb 24 #Javascript
JSONP获取Twitter和Facebook文章数的具体步骤
Feb 24 #Javascript
动态加载js、css等文件跨iframe实现
Feb 24 #Javascript
You might like
一些操作和快捷键的理解和讨论
2020/03/04 星际争霸
PHP MySQL应用中使用XOR运算加密算法分享
2011/08/28 PHP
很让人受教的 提高php代码质量36计
2012/09/05 PHP
php+ajax导入大数据时产生的问题处理
2014/06/11 PHP
PHP ADODB生成下拉列表框功能示例
2018/05/29 PHP
php伪静态验证码不显示的解决方案
2019/09/26 PHP
js实现页面打印功能实例代码(附去页眉页脚功能代码)
2009/12/15 Javascript
[JSF]使用DataModel处理表行事件的实例代码
2013/08/05 Javascript
ie9 提示'console' 未定义问题的解决方法
2014/03/20 Javascript
浅析node.js中close事件
2014/11/26 Javascript
canvas实现环形进度条效果
2017/03/23 Javascript
[js高手之路]原型式继承与寄生式继承详解
2017/08/28 Javascript
React Native AsyncStorage本地存储工具类
2017/10/24 Javascript
利用vue+elementUI实现部分引入组件的方法详解
2017/11/22 Javascript
Vue-component全局注册实例
2018/09/06 Javascript
Node.js Event Loop各阶段讲解
2019/03/08 Javascript
JS实现打砖块游戏
2020/02/14 Javascript
js实现拖拽元素选择和删除
2020/08/25 Javascript
vue组件中传值EventBus的使用及注意事项说明
2020/11/16 Javascript
ES6学习教程之Promise用法详解
2020/11/22 Javascript
python实现进程间通信简单实例
2014/07/23 Python
python基础教程之面向对象的一些概念
2014/08/29 Python
Python中用post、get方式提交数据的方法示例
2017/09/22 Python
使用Python快速制作可视化报表的方法
2019/02/03 Python
详解爬虫被封的问题
2019/04/23 Python
Python从list类型、range()序列简单认识类(class)【可迭代】
2019/05/31 Python
python地震数据可视化详解
2019/06/18 Python
Python3 chardet模块查看编码格式的例子
2019/08/14 Python
Python Tornado实现WEB服务器Socket服务器共存并实现交互的方法
2020/05/26 Python
PyTorch安装与基本使用详解
2020/08/31 Python
Python通过getattr函数获取对象的属性值
2020/10/16 Python
HTML5响应式(自适应)网页设计的实现
2017/11/17 HTML / CSS
团组织关系介绍信
2014/01/12 职场文书
2014群众路线学习笔记
2014/11/06 职场文书
家庭暴力离婚起诉书
2015/05/18 职场文书
java.util.NoSuchElementException原因及两种解决方法
2022/06/28 Java/Android