JS中常见的数据类型

1数据类型

基本数据类型(值类型):Number (数字) String (字符串) Symbol(唯一值) Boolean(布尔值) null(空) undefined(未定义) bigint(大数字)
引用数据类型:object(对象 基类) 包含(object) Array function Date Regexp

2 数据类型判断(方法和示例)

  1. typeof 一般用来判断基本数据类型 不能判断引用数据类型 会之间返回小写的字符串数据类型
    特殊 typeof null ===> “object”
   typeof 只能判断基本数据类型(null==>object);
    判断引用数据类型 都返回object

示例

		console.log(typeof 100 );//number
        console.log(typeof null);//object
        console.log(typeof true);//boolean
        console.log(typeof "1111");//string

2instanceof 语法: (要判断的数据类型) instanceof [Array/Object/Function]
返回值是true false

 console.log(100 instanceof Number)//false
      console.log(false instanceof Boolean,)//false
      console.log(null instanceof Object)//false
      console.log(function(){console.log('aaa');} instanceof Function)//true

3constructor 构造函数 要判断的数据类型.constructor === Array

console.log(new Number(123).constructor)
//ƒ Number() { [native code] }

4Object.prototype.toString.call(要判断的数据类型) 返回值 “[object 数据类型]”

var totype = Object.prototype.toString;

totype.call(123); //"[object Number]"
totype.call('abcdef'); //"[object String]"
totype.call(true); //"[object Boolean]"
totype.call([1, 2, 3, 4]); //"[object Array]"
totype.call({name:'wenzi', age:25}); //"[object Object]"
totype.call(function(){ console.log('this is function'); }); //"[object Function]"

5 jQuery.type(要判断的数据类型) 最全的数据类型判断 ==> “string” “number” “object”

jQuery.type( undefined ) === "undefined"
jQuery.type( 3 ) === "number"
jQuery.type( "test" ) === "string"
jQuery.type( function(){} ) === "function"
jQuery.type( [] ) === "array"

3 基本数据类型和引用数据类型的区别

基本数据类型是原始值,直接存贮在栈内存中,引用数据类型,他的值是在堆内存中开辟了一块新的内存空间,我们通过变量来复制一个引用数据类型的时候其实只是把这个开辟的内存空间的地址进行了一个赋值
堆与栈的区别:
栈内存
1栈存储(值类型): 主要针对(Number、String、Boolean)三种数据。直接存储在栈(stack)中,占据空间小、大小固定,属于被频繁使用数据,所以放入栈中存储。
2 引用类型堆栈存储: 主要针对Object、Array这两种引用数据以及null, 同时存储在栈(stack)和堆(heap)中,占据空间大、大小不固定。引用数据类型在栈中存储了指针,该指针指向堆中该实体的起始地址。当解释器寻找引用值时,会首先检索其在栈中的地址,取得地址后从堆中获得实体

3基本数据类型和引用数据类型在内存中的执行(图)

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值