JS数据类型详解--你搞清楚了吗?

一、数据类型:
  • 1、基本值类型(简单的数据类型):String(任意字符串)、Number(任意的数字)、Boolean、Undefined、Null

  • 2、引用数据类型(复杂的数据类型):Object、Function(一种特别的对象)、Array(一种特别的对象,内部数据是有序的)。

二、数据类型基本介绍:

(1)Number:

  • JS中所有的数值都是Number类型
  • 由于内存限制并不能保存所有的数值
  • NAN(not a number) JS中当对数值进行计算时没有结果返回
  • 整数运算会精确,浮点数运算会丢失精度

(2)String:

  • 变量加上引号变成字面量

(3)Boolean:

  • 虽然Boolean类型的字面值只有两个,但ECMAScript中所有的类型的值都有与这两个Boolean值等价的值。
  • 注:任何非零值都是true,包括正负无穷大,只有0 和NAN是false
  • 任何非零字符串都是true,只有空字符串是false
  • 任何对象都是true,只有null和undefined是false

(4)Undefined:

  • Undefined是一种比较特殊的类型,表示变量未赋值,这种类型只有一种值就是undefined

(5)Null:

  • 从语义上来看null表示的是一个空对象
三、判断数据类型的方法

判断数据类型有三种方法:typeof、instanceof、===

(1)typeof:返回数据类的字符串表达

var a;
console.log(a,typeof a); //undefined 'undefined'
console.log(typeof a === 'undefined',a===undefined); //true true

在这里插入图片描述
注:typeof 可以判断 undefined、数值、字符串、布尔值

(2)instanceof:判断对象的具体类型

var b1 = {
    b2:[1,'abc',console.log],
    b3:function(){
         console.log('b3');
         return function(){
            return '123456'
         }
    }
}

console.log(b1 instanceof Object,b1 instanceof Array); //true false
console.log(b1.b3 instanceof Function,b1.b2 instanceof Array);//true true
console.log(b1.b3 instanceof Object,b1.b2[2] instanceof Function);//true true
console.log( b1.b3()()); //123456

注:
b1属于对象因此b1 instanceof Object值为true b1 instanceof Array值为false;
b1.b3属于函数b1.b3 instanceof Function值为true 在这里我们记住 . 前面的值为对象
因为b1.b3属于函数所以b1.b3()表示的是调用这个函数 所以 ()前面的一定会是函数

四、undefined与null的区别:

undefined:代表的定义了未赋值

null:代表定义并赋值了,值为null

五、什么时候把变量赋值为null?
  • 初始时赋值:表明将要定义一个对象
  • 最后赋值:表示将要释放内存,让其指向的对象为垃圾对象
六、严格区分变量类型与数据类型:

数据类型:基本类型 和 对象类型

变量的类型:基本类型(保存基本类型的数据),引用类型(保存地址值)

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值