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 event事件的传递与冒泡处理
Dec 06 Javascript
JQuery Easyui Tree的oncheck事件实现代码
May 28 Javascript
基于jquery的商品展示放大镜
Aug 07 Javascript
JavaScript.The.Good.Parts阅读笔记(一)假值与===运算符
Nov 16 Javascript
JS幻灯片可循环播放可平滑旋转带滚动导航(自写)
Aug 05 Javascript
jquery实现个人中心导航菜单效果和美观都非常不错
Sep 02 Javascript
jQuery中hasClass()方法用法实例
Jan 06 Javascript
理解Javascript的动态语言特性
Jun 17 Javascript
js判断文本框输入的内容是否为数字
Dec 23 Javascript
webpack中引用jquery的简单实现
Jun 08 Javascript
Bootstrap Table从服务器加载数据进行显示的实现方法
Sep 29 Javascript
vue项目前端错误收集之sentry教程详解
May 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中接口与抽象类的区别
2013/06/08 PHP
php中让上传的文件大小在上传前就受限制的两种解决方法
2013/06/24 PHP
PHP版QQ互联OAuth示例代码分享
2015/07/05 PHP
PHP实现上传多图即时显示与即时删除的方法
2017/05/09 PHP
Laravel中的chunk组块结果集处理与注意问题
2018/08/15 PHP
PHP文件操作实例总结【文件上传、下载、分页】
2018/12/08 PHP
PHP异常类及异常处理操作实例详解
2018/12/19 PHP
JQuery文本框高亮显示插件代码
2011/04/02 Javascript
jquery中map函数与each函数的区别实例介绍
2014/06/23 Javascript
nodejs 提示‘xxx’ 不是内部或外部命令解决方法
2014/11/20 NodeJs
jQuery实现DIV层收缩展开的方法
2015/02/27 Javascript
简单介绍jsonp 使用小结
2016/01/27 Javascript
JS实现table表格数据排序功能(可支持动态数据+分页效果)
2016/05/26 Javascript
javascript超过容器后显示省略号效果的方法(兼容一行或者多行)
2016/07/14 Javascript
基于ES6作用域和解构赋值详解
2017/11/03 Javascript
仿京东快报向上滚动的实例
2017/12/13 Javascript
常用的9个JavaScript图表库详解
2017/12/19 Javascript
JavaScript引用类型Date常见用法实例分析
2018/08/08 Javascript
vue中将html字符串转换成html后遇到的问题小结
2018/12/10 Javascript
js实现计时器秒表功能
2019/12/16 Javascript
基于Python的身份证号码自动生成程序
2014/08/15 Python
详解Python中映射类型的内建函数和工厂函数
2015/08/19 Python
Python实现TCP/IP协议下的端口转发及重定向示例
2016/06/14 Python
基于Python对象引用、可变性和垃圾回收详解
2017/08/21 Python
对Python Class之间函数的调用关系详解
2019/01/23 Python
Django框架首页和登录页分离操作示例
2019/05/28 Python
使用Python实现Wake On Lan远程开机功能
2020/01/22 Python
Python实现分数序列求和
2020/02/25 Python
什么是托管函数?托管函数有什么用?
2014/06/15 面试题
通信工程专业毕业生推荐信
2013/12/25 职场文书
《大自然的语言》教学反思
2014/04/08 职场文书
2014年评职称工作总结
2014/11/20 职场文书
请客吃饭开场白
2015/06/01 职场文书
酒吧七夕情人节宣传语
2015/11/24 职场文书
Kubernetes部署实例并配置Deployment、网络映射、副本集
2022/04/01 Servers
MySQL库表太大怎么办? 数据库分库分表项目实践
2022/04/11 MySQL