博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JS一些基本
阅读量:6291 次
发布时间:2019-06-22

本文共 1753 字,大约阅读时间需要 5 分钟。

hot3.png

undefined 和 null, NaN 的区别
有了上面的介绍,就可以很容易把undefined 和其他的两个区分开来。
 
undefined判断的是变量的类型,而其他两个判断是变量的值。
 
undefined可以用来表示以下的状况
 
1. 表示一个未声明的变量,
 
2. 已声明但没有赋值的变量,
 
3. 一个并不存在的对象属性

 

null 是一种特殊的object ,表示无值;
 
 
NaN是一种特殊的number ,表示无值;
 
 
 
 
比较符(== 或 ===)
 
使用 == ,如果两边的类型不同, js 引擎会先把它们转成相同的类型在进行值的比较;
 

使用 ===, 则不会进行类型转换,类型不同,肯定不相等。

最近突然发现自己写的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]。

转载于:https://my.oschina.net/Weiwanbinblogs/blog/185399

你可能感兴趣的文章
Mysql-5.6.x多实例配置
查看>>
psutil
查看>>
在git@osc上托管自己的代码
查看>>
机器学习算法:朴素贝叶斯
查看>>
小五思科技术学习笔记之扩展访问列表
查看>>
使用Python脚本检验文件系统数据完整性
查看>>
使用MDT部署Windows Server 2003 R2
查看>>
Redhat as5安装Mysql5.0.28
查看>>
通过TMG发布ActiveSync
查看>>
Web服务器的配置与管理(4) 配置访问权限和安全
查看>>
ClientScriptManager与ScriptManager向客户端注册脚本的区别
查看>>
js和php中几种生成验证码的方式
查看>>
android UI进阶之仿iphone的tab效果1
查看>>
这是我的第1个C#程序(向控制台输出一句话)
查看>>
html
查看>>
Xqk.Data数据框架开发指南:丰富的、灵活的查询方法(第三部分:SqlField)
查看>>
颜色空间系列4: RGB和YDbDr颜色空间的转换及优化算法
查看>>
Unity C# 设计模式(七)适配器模式
查看>>
Lancel sac négociation avec insistance que nous pourrions réaliser de quelle route
查看>>
空白表单提交到后台的数据类型总结(java)
查看>>