JavaScript数据类型全都知道了么?

数据类型的分类和判断

分类

  • 基本(值)类型
    • Number ----- 任意数值 -------- typeof
    • String ----- 任意字符串 ------ typeof
    • Boolean ---- true/false ----- typeof
    • undefined — undefined ----- typeof/===
    • null -------- null ---------- ===
  • 对象(引用)类型
    • Object ----- typeof/instanceof
    • Array ------ instanceof
    • Function ---- typeof

判断

  • typeof
    • 可以判断: undefined/ 数值 / 字符串 / 布尔值 / function
    • 不能判断: null与object object与array
  • instanceof
    • 判断对象的具体类型
  • ===
    • 可以判断: undefined, null

instanceof判断是否属于某个对象的实例

var b1={
    b2: [1,2,"asd"],
    b3: function () {
    	console.log('b3')
    	return function () {
        	return 'zhang'
      	}
    }
}
console.log(b1 instanceof Object, b1 instanceof Array) // true  false
console.log(b1.b2 instanceof Array, b1.b2 instanceof Object) // true true
console.log(b1.b3 instanceof Function, b1.b3 instanceof Object) // true true
console.log(typeof b1.b3==='function') // true
console.log(typeof b1.b2[2]==='function') // true
b1.b2[2](321) // 321
console.log( b1.b3()() ) // zhang

undefined与null的区别?

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

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

  • 初始赋值, 表明将要赋值为对象
  • 结束前, 让对象成为垃圾对象(被垃圾回收器回收)

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

  • 数据的类型
  • 基本类型
  • 对象类型
  • 变量的类型(变量内存值的类型)
  • 基本类型: 保存就是基本类型的数据
  • 引用类型: 保存的是地址值
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章