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 相关文章推荐
return false,对阻止事件默认动作的一些测试代码
Nov 17 Javascript
JavaScript中的函数的两种定义方式和函数变量赋值
May 12 Javascript
JavaScript使用cookie实现记住账号密码功能
Apr 27 Javascript
asp.net+jquery.form实现图片异步上传的方法(附jquery.form.js下载)
May 05 Javascript
jQuery插件passwordStrength密码强度指标详解
Jun 24 Javascript
Javascript数组循环遍历之forEach详解
Nov 07 Javascript
详谈js使用in和hasOwnProperty获取对象属性的区别
Apr 25 Javascript
微信小程序实现点击文字页面跳转功能【附源码下载】
Dec 12 Javascript
JS实现点击复选框变更DIV显示状态的示例代码
Dec 18 Javascript
vue.js element-ui tree树形控件改iview的方法
Mar 29 Javascript
JavaScript判断浏览器版本的方法
Nov 03 Javascript
Vue中fragment.js使用方法小结
Feb 17 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
再说下636单管机
2021/03/02 无线电
数据库中排序的对比及使用条件详解
2012/02/23 PHP
ThinkPHP模板范围判断输出In标签与Range标签用法详解
2014/06/30 PHP
smarty内置函数section的用法
2015/01/22 PHP
在Win2003(64位)中配置IIS6+PHP5.2.17+MySQL5.5的运行环境
2016/04/04 PHP
JavaScript 三种不同位置代码的写法
2009/10/25 Javascript
JS实现的竖向折叠菜单代码
2015/10/21 Javascript
jQuery绑定事件on()与弹窗的简要概述
2016/04/27 Javascript
discuz表情的JS提取方法分析
2017/03/22 Javascript
提高Node.js性能的应用技巧分享
2017/08/10 Javascript
简单实现jQuery上传图片显示预览功能
2020/06/29 jQuery
JS与HTML结合实现流程进度展示条思路详解
2017/09/03 Javascript
JavaScript实现二叉树的先序、中序及后序遍历方法详解
2017/10/26 Javascript
webpack4.x下babel的安装、配置及使用详解
2019/03/07 Javascript
vue中axios实现数据交互与跨域问题
2019/05/12 Javascript
详解Vue项目引入CreateJS的方法(亲测可用)
2019/05/30 Javascript
jQuery设置下拉框显示与隐藏效果的方法分析
2019/09/15 jQuery
[00:17]游戏风云独家报道:DD赛后说出数字秘密 吓死你们啊!
2014/07/13 DOTA
[01:21:36]CHAOS vs Alliacne 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
Python登录注册验证功能实现
2018/06/18 Python
python+numpy按行求一个二维数组的最大值方法
2019/07/09 Python
Python实现性能自动化测试竟然如此简单
2019/07/30 Python
python+tkinter实现学生管理系统
2019/08/20 Python
python多线程实现代码(模拟银行服务操作流程)
2020/01/13 Python
HTML5 Canvas基本线条绘制的实例教程
2016/03/17 HTML / CSS
Kent & Curwen:与大卫·贝克汉姆合作
2017/06/13 全球购物
高档奢华时装在线目的地:FORWARD by elyse walker
2017/10/16 全球购物
JSF面试题:Jsf中的核心类用那些?有什么作用?LiftCycle六大生命周期是什么?
2014/07/17 面试题
网站设计师的岗位职责
2013/11/21 职场文书
在职党员进社区活动总结
2014/07/05 职场文书
2014老师三严三实对照检查材料思想汇报
2014/09/18 职场文书
未受刑事制裁公证证明
2014/09/20 职场文书
“六查”、“三学”、“三干”查摆问题整改措施
2014/09/27 职场文书
mysql数据库入门第一步之创建表
2021/05/14 MySQL
Python爬虫基础初探selenium
2021/05/31 Python
Python爬取某拍短视频
2021/06/11 Python