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 相关文章推荐
jquery实现实时改变网页字体大小、字体背景色和颜色的方法
Aug 05 Javascript
javascript中checkbox使用方法实例演示
Nov 19 Javascript
angular4自定义组件详解
Sep 28 Javascript
详述 Sublime Text 打开 GBK 格式中文乱码的解决方法
Oct 26 Javascript
vue+webpack实现异步加载三种用法示例详解
Apr 24 Javascript
vue指令只能输入正数并且只能输入一个小数点的方法
Jun 08 Javascript
微信小程序scroll-view实现滚动穿透和阻止滚动的方法
Aug 20 Javascript
angular ng-model 无法获取值的处理方法
Oct 02 Javascript
JavaScript中的连续赋值问题实例分析
Jul 12 Javascript
koa2 用户注册、登录校验与加盐加密的实现方法
Jul 22 Javascript
JavaScript如何实现图片处理与合成
May 29 Javascript
Vue项目配置跨域访问和代理proxy设置方式
Sep 08 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
MySql中正则表达式的使用方法描述
2008/07/30 PHP
php使HTML标签自动补全闭合函数代码
2012/10/04 PHP
PHP goto语句简介和使用实例
2014/03/11 PHP
PHP基于CURL进行POST数据上传实例
2014/11/10 PHP
最新制作ThinkPHP3.2.3完全开发手册
2015/11/23 PHP
WordPress开发中用于获取近期文章的PHP函数使用解析
2016/01/05 PHP
thinkphp3.x中display方法及show方法的用法实例
2016/05/19 PHP
远离JS灾难css灾难之 js私有函数和css选择器作为容器
2011/12/11 Javascript
使用JavaScript实现网页版Pongo设计思路及源代码分享
2014/06/16 Javascript
jQuery学习笔记之创建DOM元素
2015/01/19 Javascript
JavaScript实现计算字符串中出现次数最多的字符和出现的次数
2015/03/12 Javascript
纯JS实现旋转图片3D展示效果
2015/04/12 Javascript
跟我学习JScript的Bug与内存管理
2015/11/18 Javascript
jQuery中iframe的操作(点击按钮新增窗口)
2016/04/20 Javascript
js中scrollTop()方法和scroll()方法用法示例
2016/10/03 Javascript
js实现无缝滚动图
2017/02/22 Javascript
详解webpack require.ensure与require AMD的区别
2017/12/13 Javascript
Vue入门之数据绑定(小结)
2018/01/08 Javascript
vue实现自定义多选与单选的答题功能
2018/07/05 Javascript
解决layer弹层遮罩挡住窗体的问题
2018/08/17 Javascript
vue 获取url参数、get参数返回数组的操作
2020/11/12 Javascript
微信小程序自定义支持图片的弹窗
2020/12/21 Javascript
python冒泡排序算法的实现代码
2013/11/21 Python
python中list循环语句用法实例
2014/11/10 Python
Python itertools模块详解
2015/05/09 Python
Python简单实现socket信息发送与监听功能示例
2018/01/03 Python
wxPython实现窗口用图片做背景
2018/04/25 Python
Python 字符串与二进制串的相互转换示例
2018/07/23 Python
Python数据可视化:泊松分布详解
2019/12/07 Python
当我正在为表建立索引的时候,SQL Server 会禁止对表的访问吗
2014/04/28 面试题
《大自然的语言》教学反思
2014/04/08 职场文书
王兆力在市委党的群众路线教育实践活动总结大会上的讲话稿
2014/10/25 职场文书
优秀党员个人总结
2015/02/14 职场文书
巴黎圣母院读书笔记
2015/06/26 职场文书
公开致歉信
2019/06/24 职场文书
Python中super().__init__()测试以及理解
2021/12/06 Python