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 相关文章推荐
js 实现复制到粘贴板的功能代码
May 13 Javascript
封装属于自己的JS组件
Jan 27 Javascript
javascript获取wx.config内部字段解决微信分享
Mar 09 Javascript
jQuery插件HighCharts实现的2D回归直线散点效果示例【附demo源码下载】
Mar 09 Javascript
详解Node.js利用node-git-server快速搭建git服务器
Sep 27 Javascript
three.js中文文档学习之如何本地运行详解
Nov 20 Javascript
javascript中的隐式调用
Feb 10 Javascript
Vue路由钩子之afterEach beforeEach的区别详解
Jul 15 Javascript
vue实现购物车抛物线小球动画效果的方法详解
Feb 13 Javascript
微信小程序学习笔记之获取位置信息操作图文详解
Mar 29 Javascript
js中arguments对象的深入理解
May 14 Javascript
layui+SSM的数据表的增删改实例(利用弹框添加、修改)
Sep 27 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
php不允许用户提交空表单(php空值判断)
2013/11/12 PHP
PHP常用的缓存技术汇总
2014/05/05 PHP
编译PHP报错configure error Cannot find libmysqlclient under usr的解决方法
2014/06/27 PHP
php实现utf-8转unicode函数分享
2015/01/06 PHP
PHP输出一个等腰三角形的方法
2015/05/12 PHP
yii2简单使用less代替css示例
2017/03/10 PHP
php实现产品加入购物车功能(1)
2020/07/23 PHP
JavaScript 关键字屏蔽实现函数
2009/08/02 Javascript
JavaScript日历实现代码
2010/09/12 Javascript
基于jquery的时间段实现代码
2012/08/02 Javascript
Node.js开发指南中的简单实例(mysql版)
2013/09/17 Javascript
js获取IP地址的方法小结
2014/07/01 Javascript
AngularJS基础 ng-srcset 指令简单示例
2016/08/03 Javascript
vue中如何实现变量和字符串拼接
2017/06/19 Javascript
vue实现样式之间的切换及vue动态样式的实现方法
2017/12/19 Javascript
node实现生成带参数的小程序二维码并保存到本地功能示例
2018/12/05 Javascript
ES6 Proxy实现Vue的变化检测问题
2019/06/11 Javascript
小程序分享链接onShareAppMessage的具体用法
2020/05/22 Javascript
[02:43]2018DOTA2亚洲邀请赛主赛事首日TOP5
2018/04/04 DOTA
python通过字典dict判断指定键值是否存在的方法
2015/03/21 Python
python算法表示概念扫盲教程
2017/04/13 Python
Python中作用域的深入讲解
2018/12/10 Python
python实现对象列表根据某个属性排序的方法详解
2019/06/11 Python
python list转置和前后反转的例子
2019/08/26 Python
python函数声明和调用定义及原理详解
2019/12/02 Python
python实现扑克牌交互式界面发牌程序
2020/04/22 Python
利用python如何实现猫捉老鼠小游戏
2020/12/04 Python
Python扫描端口的实现
2021/01/25 Python
Oracle的内存结构(Memory structures)
2015/06/10 面试题
初二政治教学反思
2014/01/12 职场文书
《灯光》教学反思
2014/02/08 职场文书
经济类毕业生求职信
2014/06/26 职场文书
2014年精神文明建设工作总结
2014/11/19 职场文书
银行稽核岗位职责
2015/04/13 职场文书
少年的你:世界上没有如果,要在第一次就勇敢的反抗
2019/11/20 职场文书
如何给HttpServletRequest增加消息头
2021/06/30 Java/Android