JS高级_数据类型

数据类型

分类(2大类)

基本(值)类型
 Number: 任意数值
 string: 任意文本(在 JavaScript 中, string 这个词的首字母是小写的 s 。这是 JavaScript 语言的约定和规范。)
 Boolean: true/false
 undefined: undefined
 null: null
对象(引用)(Object(它是构造函数))类型
Object: 任意对象
Array: 特别的对象类型(下标/内部数据有序)
Function: 一种特别的对象类型(可执行)

判断

  • typeof:
    返回数据类型的字符串表达
    • 可以区别: 数值, 字符串, 布尔值, undefined, function
    • 不能区别: null与对象, 一般对象与数组(函数除外)1,因为不管用typeof判断对象中任意一种类型,返回的都是obj
  • instanceof(实例)
    返回布尔值

    • 专门用来判断对象的具体类型(判断到底是函数还是数组): Object, Array与Function
  • ===

    • 可以判断: undefined和null
      尽量不用==,因为==可以做数据转换,所以会判断不准确
 // typeof
 var a
 console.log(a, typeof a, a === undefined) // undefined 'undefined' true
 console.log(a === typeof a) // false
 // typeof: 返回的是数据类型的字符串表达形式
 a = 3
 console.log(typeof a === 'number')//true
 a = 'atguigu'
 console.log(typeof a === 'string')//true
 a = true
 console.log(typeof a === 'boolean')//true
 // 不能区别: null与对象(函数除外)
 a = null
 b = { 1: 1, 2: 2, 3: 3 }
 console.log(a === null) // true
 console.log(typeof a) // 'object'
 console.log(typeof [1, 2, 3]) // 'object'
 console.log(typeof { 1: 1, 2: 2, 3: 3 }) // 'object'
 console.log(typeof function () { }) // 'function'[1^]
//instanceof
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('--------------------------------%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%')
    console.log(b1.b2[2]('abc')) // 'abc' undefined.后面这个undefined是因为括号里面那个函数(b1.b2[2]('abc'))没有返回值。

  1. 在 JavaScript 中,typeof 运算符用于获取给定变量的数据类型
    函数在 JavaScript 中确实是一种特殊的对象,但 typeof 运算符会返回函数的类型为 'function',而不是 'object'。是因为在 JavaScript 中,函数也被视为一种特殊的对象类型,但它有自己的行为和特性,因此被归类为 'function' 类型。 ↩︎

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值