rangechecks 检测代码检测到超出范围的数组访问。_夯实基础系列(一)数据类型及其检测及进阶...

1.系列介绍

第一节,讲解数据类型,及其常规的检测方法,数据存储形式,垃圾回收,包括面试中常常要求的手写的一些方法。

2.JS中数据类型

JS数据类型分为两大类:基本类型和引用类型。基本类型包含:

string, number. boolean, undefined, null, symbol六种;引用类型有:对象一种。

面试官:“那么什么是基本类型什么是引用类型呢?”

小明:“基本类型是简单的数据段,而引用类型是可能由多个值构成。

面试官:“那么简单类型和引用类型是如何存储的呢?”

小红:”简单类型按值访问,存储在内存栈中,引用类型,按引用访问,地址存储在栈中,内容存储在堆中。所以但进行简单类型复制的时候,复制的是一个值,而引用类型复制的时候复制的其实是一个引用地址,所以就有了深拷贝和浅拷贝一说。“

面试官:“回答的不错,下一题。”

5c10ef052e077f5520e7f9b31312111a.png

3.检测数据类型

typeof

使用typeof能够检测出数据的类型,当检测基本类型的时候很好用,但是无法检测出对象的具体类型,例如Date和RegExp.看下面的示例。

typeof '1' === 'string'
typeof 1 === 'number'
typeof {} === 'object'
typeof undefined === 'undefined'
typeof null === 'object' // null被认为是一个空对象
typeof Symbol(1) === 'symbol'
typeof NaN === 'number'
typeof Function === 'function'
typeof true === 'boolean'

typeof能够返回的类型有以上几种:string,number,object,function,undefined,symbol,boolean 七种,但是无法知道是不是数组等。

检测数组

检测数组提供了两个操作符,isArray和instanceof。

isArray

Array.isArray() 用于确定传递的值是否是一个 Array

Array.isArray([1,2,3])  // true 

instanceof

用于检测 某个对象是否是某个构造函数的实例

[] instanceof Array // true

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值