位置: IT常识 - 正文

数据类型(数据类型所占的字节)

编辑:rootadmin
javaScript有哪些数据类型,有什么区别 javascript有八种数据类型:undefined, Null, Boolean, Number, String, Symbol, Biglnt,Object。 symbol和Biglnt是ES6新增的数据类型: symbol代表创建后独一无二且不 ... javaScript有哪些数据类型,有什么区别

推荐整理分享数据类型(数据类型所占的字节),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:数据类型的分类,数据类型的分类,数据类型转换,数据类型怎么设置,数据类型的分类,数据类型的7个基本数据类型,数据类型是什么意思,数据类型是什么意思,内容如对您有帮助,希望把文章链接给更多的朋友!

javascript有八种数据类型:undefined, Null, Boolean, Number, String, Symbol, Biglnt,Object。

symbol和Biglnt是ES6新增的数据类型:

symbol代表创建后独一无二且不可变的数据类型,它主要是为了解决可能出现全局变量冲突的问题。Biglnt是一种数字类型的数据,它可以表示任意精度格式的整数,使用Bigint可以安全地存储和操作大整数,即使这个数已经超出了Number能够表示的安全整数范围。

这些数据类型分为基本数据类型和引用数据类型:

栈:基本数据类型(undefined,Null,Number,String,Boolean)堆:引用数据类型(对象,数组,函数

基本数据类型和引用数据类型的区别在于存储位置不同:

基本数据类型直接存储在栈(stack)中的简单数据段,占据空间小,是被频繁使用的数据。引用数据类型存储在堆(heep)中的对象,占据空间大,如果存储在栈中,会影响浏览器的性能;引用数据类型是在栈中存储了指针,该指针指向堆中的存储的对象浏览器会先检索栈中的地址,通过地址获得堆中的实体

堆和栈存在于数据结构和操作系统内存中

数据结构中:

栈中的数据存取方式为先进后出。堆是一个优先队列,是按照优先级来进行排序的,优先级可以按照大小来规定。

操作系统内:

栈区内存由编译器自动分配释放,存放函数的参数值,局部变量的值等。堆区内存一般由开发者释放,若不释放,结束时可能时由垃圾回收机制(GC)回收。数据类型检测的方式有哪些数据类型(数据类型所占的字节)

(1)typeof

数组,对象,null都会被判断为object

console.log(typeof 2); // numberconsole.log(typeof true); // booleanconsole.log(typeof 'str'); // stringconsole.log(typeof []); // object console.log(typeof function(){}); // functionconsole.log(typeof {}); // objectconsole.log(typeof undefined); // undefinedconsole.log(typeof null); // object

(2)instanceof

  instanceof可以正确判断对象的类型,其内部运行机制时在原型链中能否找到该类型的原型。

console.log(2 instanceof Number); // falseconsole.log(true instanceof Boolean); // false console.log('str' instanceof String); // false console.log([] instanceof Array); // trueconsole.log(function(){} instanceof Function); // trueconsole.log({} instanceof Object); //true

  instanceof只能正确判断引用数据类型,而不能判断基本数据类型。

  instanceof运算符可以用来测试一个对象在其原型链中是否存在一个构造函数的prototype属性。

(3)constructor

console.log((2).constructor === Number); // trueconsole.log((true).constructor === Boolean); // trueconsole.log(('str').constructor === String); // trueconsole.log(([]).constructor === Array); // trueconsole.log((function() {}).constructor === Function); // trueconsole.log(({}).constructor === Object); // true

  constructor有两个作用:一是判断数据的类型,二是对象实例通过constructor对象访问的构造函数,需要注意:如果创建一个对象来改变它们的原型,constructor就不能判断数据类型

function Fn(){};Fn.prototype = new Array();var f = new Fn();console.log(f.constructor===Fn); // falseconsole.log(f.constructor===Array); // true

(4)Object.prototype.toString.call()

   Object.prototype.toString.call() 使用Object对象的原型方法toString来判断数据类型:var a = Object.prototype.toString;

console.log(a.call(2)); //[object Number]console.log(a.call(true));    //[object Boolean]console.log(a.call('str'));    //[object String]console.log(a.call([]));    //[object Array]console.log(a.call(function(){}));    //[object Function]console.log(a.call({}));    //[object Object]console.log(a.call(undefined));  //[object Undefined]console.log(a.call(null));    //[object Null]判断数组的方式通过Object.protottype.toString.call()let obj = [1,2,3]Object.prototype.toString.call(obj).slice(8,-1) === 'Array'通过原型链let obj = [1, 2, 3]console.log(obj.__proto__ === Array.prototype)通过ES6的Array.isArray() fn() function fn() { let obj = [1, 2, 3] console.log(Array.isArray(obj)); }通过instanceof let obj = [1, 2, 3] console.log(obj instanceof Array);通过Array.prototype.isPrototype() let obj = [1, 2, 3] console.log(Array.prototype.isPrototypeOf(obj));null和undefined的区别

undefined和null都是基本数据类型,这两个基本数据类型都只有一个值,就是undefined和null.

undefined代表的是未定义,null代表的是空对象。一般

本文链接地址:https://www.jiuchutong.com/zhishi/311598.html 转载请保留说明!

上一篇:python元组如何打包和解包(python中的元组)

下一篇:python中Sample函数是什么?(python中sample函数怎么用)

  • 手机数据恢复精灵真的可以恢复吗(手机数据恢复精灵官方)

    手机数据恢复精灵真的可以恢复吗(手机数据恢复精灵官方)

  • 钉钉上网课会有哪些数据(钉钉上网课有回放吗)

    钉钉上网课会有哪些数据(钉钉上网课有回放吗)

  • 华为荣耀20充电时间(华为荣耀20充电线)

    华为荣耀20充电时间(华为荣耀20充电线)

  • 手机相册图片怎么剪切不要的部分(手机相册图片怎么拼图)

    手机相册图片怎么剪切不要的部分(手机相册图片怎么拼图)

  • 微博怎么上传通讯录好友(微博怎么上传通讯录照片)

    微博怎么上传通讯录好友(微博怎么上传通讯录照片)

  • 老年机可打紧急电话怎么回事(老年机可拨打紧急电话)

    老年机可打紧急电话怎么回事(老年机可拨打紧急电话)

  • ipad无法安装微信(ipad2020无法安装微信)

    ipad无法安装微信(ipad2020无法安装微信)

  • 5g双模手机有哪些(5g双模手机与5g手机的区别)

    5g双模手机有哪些(5g双模手机与5g手机的区别)

  • 华为tital00是什么型号手机(华为tit-tl00)

    华为tital00是什么型号手机(华为tit-tl00)

  • dell笔记本wifi开关在哪(dell笔记本无线网开关)

    dell笔记本wifi开关在哪(dell笔记本无线网开关)

  • 笔记本的sd卡槽有啥用(笔记本的sd卡槽怎么用)

    笔记本的sd卡槽有啥用(笔记本的sd卡槽怎么用)

  • 退出word应用程序的快捷键(退出word应用程序的键盘操作)

    退出word应用程序的快捷键(退出word应用程序的键盘操作)

  • vivo手机怎么卸载软件(vivo手机怎么卸载游戏中心)

    vivo手机怎么卸载软件(vivo手机怎么卸载游戏中心)

  • ps怎么把图片变大(ps怎么把图片变模糊)

    ps怎么把图片变大(ps怎么把图片变模糊)

  • airpods pro 安卓能用吗(airpods pro能用安卓)

    airpods pro 安卓能用吗(airpods pro能用安卓)

  • 荣耀20s访客模式怎么设置(honor访客模式在哪里设置)

    荣耀20s访客模式怎么设置(honor访客模式在哪里设置)

  • 什么叫带pe的u盘(什么叫带pe的u盘启动)

    什么叫带pe的u盘(什么叫带pe的u盘启动)

  • 美团账单怎么删除(美团怎么删除账单)

    美团账单怎么删除(美团怎么删除账单)

  • 平板电脑怎样登录(平板电脑怎样登2个微信号)

    平板电脑怎样登录(平板电脑怎样登2个微信号)

  • 积目怎么注销账号(积目怎么注销账号2021)

    积目怎么注销账号(积目怎么注销账号2021)

  • 华为p30怎么下载两个微信(华为p30怎么下载空调遥控器)

    华为p30怎么下载两个微信(华为p30怎么下载空调遥控器)

  • pbemoo是什么手机型号(pbfmoo是什么手机)

    pbemoo是什么手机型号(pbfmoo是什么手机)

  • Linux中进程管理工具htop的安装与其命令使用教程(linux进程操作命令)

    Linux中进程管理工具htop的安装与其命令使用教程(linux进程操作命令)

  • 华为分享只能分享给华为吗详情(华为分享平时可不可以打开)

    华为分享只能分享给华为吗详情(华为分享平时可不可以打开)

  • 圣何塞附近的代阿布洛岭山麓,加利福尼亚 (© Jeff Lewis/Tandem Stills + Motion)(圣何塞在哪)

    圣何塞附近的代阿布洛岭山麓,加利福尼亚 (© Jeff Lewis/Tandem Stills + Motion)(圣何塞在哪)

  • 企业所得税纳税义务人
  • 什么叫关税完税价
  • 什么叫风险纳税人员
  • 关税减免形式主要包括
  • 交个税步骤
  • 怎么找回丢失的手机号
  • 个体户一定要自己经营吗
  • 增值税专用发票电子版
  • 离退休人员的返乡政策
  • 个人以不动产投资入股
  • 股票盈亏怎么计算app
  • 企业所得税税收优惠政策
  • 善意取得增值税专用发票如何处理
  • 不动产进项税额抵扣最新通知2023
  • 分公司往子公司投资如何做税务处理?
  • 增值税普通发票有什么用
  • 小微企业1个点和3个点对纳税的影响
  • 小微 小型微利
  • 营业额500万以上税率
  • 换账套期初数怎么填
  • 不征税发票的12个税种
  • 个体户小规模纳税人每月开票
  • 总资产净利率与权益乘数的关系
  • excel中在多个单原格中输入相同数据
  • 鸿蒙可以看小电影吗
  • jquery怎么升级
  • 公司租赁办公室要注意什么
  • vue打包成一个文件
  • 兰斯洛特
  • php删除数组中指定元素
  • 现金流量表中如何考虑折旧费
  • php扫二维码
  • torch测定
  • php原生导出excel表单元格格式
  • 未分配利润的核算内容
  • 什么叫呆账损失
  • 房租费用计入什么现金流量
  • 财务管理中的折现率是指什么
  • 职工教育经费年底要冲回吗
  • 即征即退实际退税额35栏可以不填吗
  • 印花税契税入固定资产吗
  • mysql中join的用法
  • mysql行锁的作用
  • 投资款印花税税源采集表税目
  • 收到生育津贴入什么科目
  • 水电费用属于会计的什么费用
  • 不开增值税发票的销售收入报税的操作流程是?
  • sqlserver2005 TSql新功能学习总结(数据类型篇)
  • 增值税发票抵扣联丢失怎么办
  • 员工借款还款怎么做账
  • 出纳现金日记账怎么记账
  • 应付账款与应付票据结合的原则
  • 测绘费计入什么明细科目
  • 金蝶的数量金额明细账是怎么做的
  • 咨询费的支出范围
  • 小规模纳税人发票可以抵扣吗
  • 未分配利润属于总账科目吗
  • 公司卖掉软件计入成本吗
  • 汇算清缴从业人数平均值怎么算
  • 小企业如何建立党支部
  • 账本页面设置
  • 该卡已在其他账户中存在什么意思
  • Linux下Dr.com(802.1x)拨号上网完美解决方法(Ubuntu)
  • windows开始界面
  • shwicon.exe - shwicon是什么进程 有什么用
  • win7清洗打印机喷头步骤
  • 快速解决胃胀气
  • 搭建gitbook
  • css控制图片置灰
  • javascriptj
  • jQuery checkbox选中问题之prop与attr注意点分析
  • linux 检查网络状态
  • js学习教程
  • 深入理解新发展理念
  • java clone用法
  • 淄博市税务局投诉电话
  • 扬州地方税务局在哪
  • 广东省国家税务总局稽查局局长
  • 代售门票业务税务处理
  • 天津普通发票查询平台
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设