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 

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

相关文章

  • 利用JavaScript实现简单的网页时钟

    利用JavaScript实现简单的网页时钟

    这篇文章主要介绍了利用JavaScript实现简单的网页时钟,主要使用了js的日期对象,实现的时候先创建一个日期对象,并进行网页布局,对时间获取之后将时间填入对应的标签内。然后使用多线程实现时钟的变动,需要的朋友可以参考一下
    2022-02-02
  • Redux的基本使用过程步骤详解

    Redux的基本使用过程步骤详解

    这篇文章主要介绍了Redux的基本使用过程详解,本文通过示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-12-12
  • 微信小程序使用uni-app开发小程序及部分功能实现详解

    微信小程序使用uni-app开发小程序及部分功能实现详解

    uni-app是一个使用Vue.js 开发所有前端应用的框架,下面这篇文章主要给大家介绍了关于微信小程序使用uni-app开发小程序及部分功能实现的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-08-08
  • 根据鼠标的位置动态的控制层的位置

    根据鼠标的位置动态的控制层的位置

    根据鼠标的位置动态的设置层的位置的js代码。
    2009-11-11
  • ECMAScript6中Map/WeakMap详解

    ECMAScript6中Map/WeakMap详解

    这篇文章主要介绍了ECMAScript6中Map/WeakMap详解的相关资料,需要的朋友可以参考下
    2015-06-06
  • 用户引导插件driverjs的基本使用以及弹窗样式修改方法

    用户引导插件driverjs的基本使用以及弹窗样式修改方法

    Driver.js是一个强大的、轻量级、使用原生JavaScript引擎开发的库,用于在页面聚焦用户的关注点,下面这篇文章主要介绍了用户引导插件driverjs的基本使用以及弹窗样式修改方法,需要的朋友可以参考下
    2024-04-04
  • js实现时钟定时器

    js实现时钟定时器

    这篇文章主要为大家详细介绍了js实现时钟定时器,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-03-03
  • JS 实现获取打开一个界面中输入的值

    JS 实现获取打开一个界面中输入的值

    JS 实现获取打开一个界面中输入的值,需要的朋友可以参考一下
    2013-03-03
  • JS表示Stack类练习用栈实现任意进制转换

    JS表示Stack类练习用栈实现任意进制转换

    这篇文章主要为大家介绍了JS表示Stack类练习用栈实现任意进制转换示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-04-04
  • BootStrap导航栏问题记录

    BootStrap导航栏问题记录

    这篇文章主要介绍了BootStrap导航栏问题记录,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2017-07-07

最新评论