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 相关文章推荐
学习YUI.Ext第五日--做拖放Darg&Drop
Mar 10 Javascript
jQuery使用技巧简单汇总
Apr 18 Javascript
使用JavaScript进行进制转换将字符串转换为十进制
Sep 21 Javascript
jquery实现动态操作select选中
Feb 11 Javascript
js中函数声明与函数表达式
Jun 03 Javascript
Bootstrap所支持的表单控件实例详解
May 16 Javascript
JavaScript DOM节点操作方法总结
Aug 23 Javascript
jquery事件绑定解绑机制源码解析
Sep 19 Javascript
javascript判断回文数详解及实现代码
Feb 03 Javascript
Mint UI 基于 Vue.js 移动端组件库
Nov 07 Javascript
SSM+layUI 根据登录信息显示不同的页面方法
Sep 20 Javascript
Vue实现渲染数据后控制滚动条位置(推荐)
Dec 09 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截取中文字符串的问题
2006/07/12 PHP
使用adodb lite解决问题
2006/12/31 PHP
yii2控制器Controller Ajax操作示例
2016/07/23 PHP
Laravel实现通过blade模板引擎渲染视图
2019/10/25 PHP
一个JavaScript处理textarea中的字符成每一行实例
2014/09/22 Javascript
jquery实现表格中点击相应行变色功能效果【实例代码】
2016/05/09 Javascript
Bootstrap布局之栅格系统详解
2016/06/13 Javascript
详解Jquery EasyUI tree 的异步加载(遍历指定文件夹,根据文件夹内的文件生成tree)
2017/02/11 Javascript
微信小程序实战之登录页面制作(5)
2020/03/30 Javascript
深入理解vue-router之keep-alive
2017/08/31 Javascript
JS库之Three.js 简易入门教程(详解之一)
2017/09/13 Javascript
微信小程序出现wx.navigateTo页面不跳转问题的解决方法
2017/12/26 Javascript
mac上配置Android环境变量的方法
2018/07/08 Javascript
angular 表单验证器验证的同时限制输入的实现
2019/04/11 Javascript
微信小程序如何实现radio单选框单击打勾和取消
2020/01/21 Javascript
[02:19]DOTA2女子战队FOX视频专访:希望更多美眉一起加入
2013/10/15 DOTA
[00:31]DOTA2上海特级锦标赛 Fnatic战队宣传片
2016/03/04 DOTA
Python常用列表数据结构小结
2014/08/06 Python
Python实现嵌套列表去重方法示例
2017/12/28 Python
Python中按键来获取指定的值
2019/03/02 Python
python多线程http压力测试脚本
2019/06/25 Python
python 安装impala包步骤
2020/03/28 Python
浅谈优化Django ORM中的性能问题
2020/07/09 Python
如何基于python实现年会抽奖工具
2020/10/20 Python
纯HTML5+CSS3制作图片旋转
2016/01/12 HTML / CSS
HTML中使用SVG与SVG预定义形状元素介绍
2013/06/28 HTML / CSS
建筑公司文秘岗位职责
2013/11/29 职场文书
西安交大自主招生自荐信
2014/01/27 职场文书
最新会计专业求职信范文
2014/01/28 职场文书
商铺租赁意向书
2014/04/01 职场文书
联片教研活动总结
2014/07/01 职场文书
2014会计年终工作总结
2014/12/20 职场文书
上课迟到检讨书范文
2015/05/06 职场文书
导游词之广西漓江
2019/11/02 职场文书
vue实现登陆页面开发实践
2022/05/30 Vue.js
Vue深入理解插槽slot的使用
2022/08/05 Vue.js