JavaScript数据类型

Posted quxingzhou

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaScript数据类型相关的知识,希望对你有一定的参考价值。

一、javascript数据类型分为2大类

1. 基本类型(也就是值类型)

   var a; // undefined: undefined
   a = null; // null: null
   a = 123; // Number: 任意数值
   a = "abc"; // String: 任意文本
   a = true; // Boolean: true/false

2. 对象(引用)类型

   // Object: 任意对象
   // Array: 特别的对象类型(下标/内部数据有序)
   // Function: 特别的对象类型(可执行)
   var b = {
    b1 : [2, 'abc', console.log],
    b2 : function () {
             console.log('b3()')
         }
    }

二、JavaScript数据类型的判断

1. typeof:返回的是数据类型的字符串表达形式

   /* 
      可以区别: 数值, 字符串, 布尔值, undefined, function
      不能区别: null与对象, 一般对象与数组
   */
   var a;
   console.log(a, typeof a, a===undefined); // undefined 'undefined' true
   // type a的值为"undefined"
   console.log(a===typeof a); // false

   a = 3;
   console.log(typeof a === 'number') // true
   
   a = 'atguigu'
   console.log(typeof a === 'string') // true
   
   a = true
   console.log(typeof a === 'boolean') // true

   a = null
   console.log(a === null) // true
   console.log(typeof a) // 'object'

   var b1 = {
    b2: [2, 'abc', console.log],
    b3: function () {
          console.log('b3()')
        }
    }

    console.log(b1 instanceof Object, typeof b1) // true 'object'
    console.log(b1.b2 instanceof Array, typeof b1.b2) // true 'object'
    console.log(b1.b3 instanceof Function, typeof b1.b3) // true 'function'
    console.log(typeof b1.b2[2]) // 'function'
    console.log(b1.b2[2]('abc')) // 'abc'

2. instanceof:专门用来判断对象数据的类型: Object, Array与Function

3. ===:可以判断: undefined和null

三、undefined与null的区别

   // undefined代表定义未赋值
   // null代表定义并赋值了, 只是值为null

四、什么时候给变量赋值为null呢?

   var a = null //a将指向一个对象, 但对象此时还没有确定
   // 初始赋值,表明将要赋值给对象
   a = null //让a指向的对象成为垃圾对象
   // 结束前,让对象成为垃圾对象,(被垃圾回收器回收)

五、严格区别变量类型与数据类型?

/*
  * js的变量本身是没有类型的, 变量的类型实际上是变量内存中数据的类型
  * 变量类型:
    * 基本类型: 保存基本类型数据的变量
    * 引用类型: 保存对象地址值的变量
  * 数据类型:
    * 基本类型
    * 对象类型
*/

以上是关于JavaScript数据类型的主要内容,如果未能解决你的问题,请参考以下文章

16个必备的JavaScript代码片段

几个有用的JavaScript/jQuery代码片段(转)

VSCode自定义代码片段12——JavaScript的Promise对象

VSCode自定义代码片段12——JavaScript的Promise对象

vs code 自定义代码片段

30秒就能看懂的JavaScript 代码片段