基本数据类型可以使用内置方法

一看标题,懵了,基本数据类型怎么可以使用内置方法呢

首先我们学习JavaScript,都知道在JavaScript中有八种数据类型,可以划分为原始数据类型和对象数据类型(MDN划分)。在ES中,数据的划分是基本数据类型和引用类型,两者含义相同。

一般代码中,基本数据类型都是放在栈内存中;而引用类型都是放在堆内存中

基本数据类型和引用类型这两个类型其中一个很明显的区别是,引用类型有自己内置的方法用来操作数据,而基本数据类型不能跟引用类型一样通过内置方法对数据进行操作。但是在ES中,基本数据类型中的Boolean、Number、String这三个基本数据类型,ES提供了它们对应的特殊引用类型,也就是包装类型。

var num = 1.23456
var num1 = num.toFixed(2)
console.log(num1);   // 1.23

,这时候就有疑惑了,平时都是这样写的呀,有什么大惊小怪的呀?非也。其实如果ES没有提供包装类型,toFixed()是不能被调用的,这三行代码的背后你研究过吗。背后非常不可思议。

其实当程序执行到第二行代码的时候,代码执行的背后会自动创建Number基本数据类型的实例,但是和基本数据类型的值不一样,这个实例也就是ES提供的包装类型的对象,然后是调用这个包装类型对象的内置方法,随后销毁这个自动创建得到实例,最后就可以执行了

接下来通过代码形象的表达代码的背后过程

var num = 1.23456           // 创建num变量 Number基本数据类型
var num1 = num.toFixed(2)   //代码背后自动执行以下操作:
    var create_num=new Number(1.23456) //创建一个Number基本数据类型对应的包装类型,值也一样
    var _num=create_num.toFixed(2)     //通过创建的对象去调用包装对象下的方法,赋值给_num
    create_num=null                    //销毁代码背后临时创建的create_num变量
console.log(num1);   // 1.23

若有错误,敬请指正!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

前端志茗

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值