JavaScript—数据类型01

本文详细介绍了JavaScript中的数据类型分类,包括基本类型(如数字、字符串、布尔等)、引用类型(如对象、数组、函数),以及如何使用typeof和instanceof进行类型判断。同时讨论了数据、变量和内存的关系,以及全等比较和内存区域(栈和堆)的概念。
摘要由CSDN通过智能技术生成

一,数据类型

1.数据类型分类
  • 基础类型:
  • number(数字):任意数值,例如:123,12.3
    String(字符串):任意字符串,例如:‘123’,‘abc’
    Blooean(布尔):有2个值,true/false
    undefind(未定义):只有undefind值
    null(空):只有null值
    Symbol:ES6新加的数据类型,表示独一无二的值
    BigInt(任意精度整数):可以操作存储大整数据
  • 引用类型
    object(对象):任意对象
    Array(数组):特殊对象,内部数据有序,有下标
    function(函数):特殊对象,可执行函数
2.数据类型判断
  • typeof
    能判断数值,字符串,布尔值,undefind,function,Symbol,bigint
    不能判断null和Object,Object和Array
    NaN会判断为number
typeof 1 // 'number'
typeof 'lily' // 'string'
typeof undefined // 'undefined'
typeof null // 'object'
typeof true // 'boolean'
typeof Symbol() // 'symbol'
typeof 123n // 'bigint'
typeof {name:'lily'} // 'object'
typeof [1,2,3] // 'object'
typeof function(){}// 'function'
typeof NaN // 'number'
  • instanceof
    判断对象的具体类型,返回值是Boolean值
    语法:obj instanceof Type
    功能:判断 obj 是不是 Type 类的实例,只可用来判断引用数据
const arr = [1, 2, 3]
console.log(arr instanceof Array) // true
console.log(arr instanceof Object) // true
const obj = { name: "lily" }
console.log(obj instanceof Object) // true
console.log(obj instanceof Array) // false
  • 全等(===)
    与某个固定值进行比较

y在这里插入图片描述引用类型数据只有是相同地址才会相等
在这里插入图片描述

  • Object.prototype.toString.call()
Object.prototype.toString.call(12); // '[object Number]'
Object.prototype.toString.call("csdn"); // '[object String]'
Object.prototype.toString.call(true); // '[object Boolean]'
Object.prototype.toString.call(undefined); // '[object Undefined]'
Object.prototype.toString.call(null); // '[object Null]'
Object.prototype.toString.call(Symbol()) // '[object Symbol]'
Object.prototype.toString.call(12345n) // '[object BigInt]'
Object.prototype.toString.call({name:'lily'}); // '[object Object]'
Object.prototype.toString.call([1,2,3]); // '[object Array]'
Object.prototype.toString.call(function(){}); // '[object Function]'
//可以封装函数获取类型
function getType(data) {
  return Object.prototype.toString.call(data).slice(8, -1);
}
console.log(getType("csdn")) // String

二,数据,变量,内存

数据,变量,内存三者关系

  • 内存是用来存储数据的空间
  • 变量是内存的表示
1.数据
  • 内存中所有操作的目标:数据
    算术运算
    逻辑运算
    赋值
    运行函数
2.变量
  • 可变化的量,由变量名和变量值组成
  • 每个变量都对应一小块内存,变量名用来查找对应的内存,变量值就是内存中保存的数据
3.内存
  • 内存是用来存储数据的空间
  • 内存分类
    :全局变量/局部变量
    :对象
  • 15
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值