JavaScript数据类型及判断方法

1.数据类型

1.基本数据(值)类型
String:字符串类型
Number:数字类型
boolean:布尔值类型 true/false
null:null
undefined:undefined
2.对象(引用)数据类型
Object:任意对象
Array:一种特别的对象(存储有顺序,数值下标)
Function:一种特别的对象(可以执行)

2.判断数据类型

  1. typeof:
    可以判断:undefined/number /string /boolean/function
  2. instanceof:判断对象的”具体“类型
  3. === / ==
    可以判断:undefined/null

实例:

1.基本类型判断
首先需要明白typeof返回的是字符串表达,undefined不等于’undefined’

var a;
console.log(a) //undefined  
console.log(typeof a) //"undefined" 
console.log(undefined === 'undefined') //false

1.判断undefined

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

2.判断数值

a = 4;
console.log(typeof a === 'number') //true

3.判断字符串

 a = '我是字符串';
 //注意字符串的类型是string不是String
 console.log(typeof a === 'string') //true
 console.log(typeof a === 'String') //false

4.判断布尔值

a = true
console.log(typeof a === 'boolean') //true

5.判断null

a = null
console.log(typeof a) //'object' 没法判断
console.log(a === null) //true   可以判断

2.对象
首先需要知道instanceof 是用来判断谁是谁的实例,也就是说A的隐式原型是否等于B的显示原型

var b1 = {
  b2: [1, 'abc'],
  b3: function () {
    console.log('b3')
  }
}
console.log(b1 instanceof Object) // true
console.log(b1 instanceof Array) // false

1.判断是否为数组

//数组是一个特殊的对象所以一下2种方式都为true
console.log(b1.b2 instanceof Object) //true
console.log(b1.b2 instanceof Array) //true

2.判断是否为函数

//函数是一个特殊的对象所以一下2种方式也为true
console.log(b1.b3 instanceof Object) //true
console.log(b1.b3 instanceof Function) //true
//也可以通过typeof方式判断函数对象的类型
console.log(typeof b1.b3 === 'function') //true

1.undefined 与null的区别?
undefined代表定义未赋值
null定义并赋值了,只是值为null
2.什么时候给变量赋值为null 呢?
初始赋值,表明将要赋值为对象
结束前,让对象成为垃圾对象(被垃圾回收器回收)

 //初始赋值时
var a = null;//表明将要对a存储对象类型数据
//结束前
a = {
  name: 'zhangsan'
}
a = null;//表示将该对象的引用消除

3.严格区别变量类型与数据类型?
数据的类型:基本类型和对象类型
变量类型:
(1)基本类型:保存的是基本数据类型的数据
(2)引用类型:保存的是地址的值

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值