JavaScript 类型简介

对于 JavaScript 类型,可以简单地概括为:相对于强类型语言来说,它是弱(松散)类型的语言;有原始类型和引用类型,他们是区别是一个有固定空间存在于栈内存中,一个没有固定空间保存在堆内存中并且在栈内存中保存了一个指向实现位置的指针。

一、基本类型与引用类型

基本类型:Undefined / Null / Boolean / Number / String

引用类型:Object / Array / Function / Date / RegExp …

二、JavaScript 类型的判断

在 JavaScript 有两个 operator 可以用以判断类型。他们是 typeof 和 instanceof。

typeof运算符的返回值:

  • undefined,如果变量是Undefined类型

  • boolean,如果变量是Boolean类型

  • number,如果变量是Number类型

  • string,如果变量是String类型

  • object,如果变量是一种引用类型或Null类型

typeof对于引用类型的判断不够精确,可用instanceof来做进一步判断,但也有时候判断不了。在jQuery等类库中对类型判断做了封装,让你可以方便地检测类型。

要检测具体的类型值,事实上也不麻烦,因为那句「在 JavaScript 中,一切都是对象」

/* 检测对象类型
* @param: obj {JavaScript Object}
* @param: type {String} 以大写开头的 JS 类型名
* @return: {Boolean}
*/

function is(obj,type) {
    return Object.prototype.toString.call(obj).slice(8,-1)===type;
}

这样的话,我们就可以利用is这个函数来帮我们搞定类型判断了,并且这个简单的函数有很好的兼容性,可以用到你的项目中去。情况如:

is('sofish','String')// true
is(null,'Null')// true
is(newSet(),'Set')// true
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值