JavaScript基本类型值-Undefined、Null、Boolean

 更新时间:2017年02月23日 14:24:29   作者:老板丶鱼丸粗面  
本文主要介绍了JavaScript基本类型值-Undefined、Null、Boolean的相关知识,具有很好的参考价值,下面跟着小编一起来看下吧

大致介绍

ECMAScript中有5中简单的数据类型(也称为基本数据类型):Undefined、Null、Boolean、Number、String。

Undefined

Undefined时全局变量的一个属性,它只有一个值即:undefined。当使用var声明变量但未对其初始化时,这个变量的值就是undefined。

var test;
console.log(test); //undefined

对于未声明过的变量只能进行一种操作,即typeof检测其数据类型

 //var a 
console.log(typeof a); //undefined

undefined通常出现的场景:

1、已经声明但未赋值的变量

2、typeof检测未声明的变量的数据类型

3、没有返回值的函数的执行结果

4、函数没有传入参数

5、void(expression)

//1、
 var test;
 console.log(test); //undefined
 //2、
 //var a 
 console.log(typeof a); //undefined
 //3、
 function f(){}
 console.log(f()); //undefined
 //4、
 function f(x){
 return x;
 }
 console.log(f()); //undefined
 //5、
 console.log(void(0)); //undefined

严格相等和undefined

可以使用严格相等和不相等来检测一个变量是否拥有值

var x ;
 if(x === undefined){
 console.log(1);
 }else{
 console.log(2);
 }

注意:这里要用严格相等,因为 null == undefined

void操作符和undefined

可以用void操作符来代替undefined

var x ;
 if(x === void(0)){
 console.log(1);
 }else{
 console.log(2);
 }

Null

Null类型是第二个只有一个值的数据类型,这个特殊的值是null。从逻辑的角度看,null值表示一个空对象的指针。null常被放在期望一个对象,但不引用任何对象的参数位置。

console.log(document.getElementById('ol')); //null

注意:

console.log(typeof null); //object

产生这样的原因就如前面所说,null值表示一个空对象的指针,用typeof检测数据类型,肯定就是object

从最底层讲不同的对象在底层都表示为二进制,在javascript中二进制前三位都为0会被判断为object类型,null的二进制表示是全0,所以执行typeof时返回'object'

null和undefined

null和undefined时不同的,但是他们都表示空值,null表示“空值”,undefined表示“未定义”。

typeof null // object 
 typeof undefined // undefined
 null === undefined // false
 null == undefined // true
 null === null // true
 null == null // true
 !null //true
 isNaN(1 + null) // false
 isNaN(1 + undefined) // true

Boolean

Boolean类型是ECMAScript中使用最多的一种类型,该类型只有两个字面值:true和false

注意:Boolean类型的字面值true和false是区分大小写的

虽然Boolean类型的字面值只有两个,但是ECMAScript中所有的类型的值都有与这两个Boolean值等价的值。要将一个值转换为对应的Boolean值,可以调用转型函数Boolean()

var message = 'hello world';
var messageBoolean = Boolean(message);
console.log(messageBoolean); //true

转换表:

字符串 数字 布尔值
undefined "undefined" NaN false
null  “null”  0  false
true  “true”  1  
false  “false”  0  
""空字符串    0  
"1.2" 非空,数字    1.2  
"o" 非空,非数字      
 0  "0"    false
 -0 "0"    false 
 NaN  "NaN"   false 
 infinity  "infinity"   true 
-infinity   "infinity"   true 

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持脚本之家!

相关文章

  • 设置cookie指定时间失效(实例代码)

    设置cookie指定时间失效(实例代码)

    下面小编就为大家带来一篇设置cookie指定时间失效(实例代码)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-05-05
  • JavaScript字符串处理之trim()和replace()详解

    JavaScript字符串处理之trim()和replace()详解

    这篇文章主要给大家介绍了关于JavaScript字符串处理之trim()和replace()的相关资料,文中介绍的所有这些方法都不会修改原始字符串,而是返回一个新的字符串,需要的朋友可以参考下
    2024-10-10
  • Javascript简单改变表单元素背景的方法

    Javascript简单改变表单元素背景的方法

    这篇文章主要介绍了Javascript简单改变表单元素背景的方法,涉及javascript操作页面元素样式的基本技巧,非常简单实用,需要的朋友可以参考下
    2015-07-07
  • 微信小程序基于picker实现级联菜单

    微信小程序基于picker实现级联菜单

    这篇文章主要为大家详细介绍了微信小程序基于picker实现级联菜单,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-02-02
  • webpack 5 mode的作用和区别解析

    webpack 5 mode的作用和区别解析

    Webpack 5 是一款强大的模块打包工具,可用于将许多分散的模块按照依赖关系打包成一个(或多个)bundle,这篇文章给大家介绍webpack 5 mode的作用和区别解析,感兴趣的朋友跟随小编一起看看吧
    2024-01-01
  • 初识javascript 文档碎片

    初识javascript 文档碎片

    今天遇到一个问题: 我通过 ajax 取回另一个页面的 Html 。但这些 HTML 我不想直接输出,想通过 getElementsByName 处理后再输出相应的内容。用原生的 javascript怎样可以处理呢?
    2010-07-07
  • javascript中强制执行toString()具体实现

    javascript中强制执行toString()具体实现

    Javascript通常会根据方法或运算符的需要而自动把值转成所需的类型,这可能导致各种错误,接下来为大家介绍下javascript如何强制执行toString(),感兴趣的朋友可以参考下哈
    2013-04-04
  • 在layui中使用form表单监听ajax异步验证注册的实例

    在layui中使用form表单监听ajax异步验证注册的实例

    今天小编就为大家分享一篇在layui中使用form表单监听ajax异步验证注册的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-09-09
  • 详解ES6实现类的私有变量的几种写法

    详解ES6实现类的私有变量的几种写法

    这篇文章主要介绍了详解ES6实现类的私有变量的几种写法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-02-02
  • 浅谈layui数据表格判断问题(加入表单元素),设置单元格样式

    浅谈layui数据表格判断问题(加入表单元素),设置单元格样式

    今天小编就为大家分享一篇浅谈layui数据表格判断问题(加入表单元素),设置单元格样式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-10-10

最新评论