李海,谱瑞智能 2022-12-08 02:49 采纳率: 66.7%
浏览 63
已结题

JS中数值类型已经可以使用Number方法,为什么还要引入Number对象概念

JS中数值类型已经可以使用Number方法,为什么还要引入Number对象概念呢?也就是说:
var n1 = 10;
var n2 = new Number(10)
n1 和 n2的区别在哪里呢,二者都可以:
n1.toString()
n2.toString()
结果都一样。
除了typeof不同。
另外Number.isInteger(n1) 返回true
而Number.isInteger(n2)却返回false,Number.isInteger()不是对象方法吗,怎么反而是false?
拜托高手帮忙解答,多谢了

  • 写回答

7条回答 默认 最新

  • dp_shiyu 2022-12-08 08:24
    关注

    typeof 不同就已经说明了问题,typeof(n2) 是一个对象Object,它并不代表一个纯数值类型,而Number.isInteger()仅用来确定传递的值是否为整数,

    img

    对象传递进入参数,那么返回false便是很合理的了。

    Number作为一个对象,对象可以提供很多有效的功能,

    img


    这些并不是数值类型就可以直接使用的特性,通过这种对象类型可以实现更多数值类型无法提供的便捷的方法。
    个人所言,希望对您有所帮助!

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(6条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 12月10日
  • 已采纳回答 12月8日
  • 修改了问题 12月8日
  • 创建了问题 12月8日

悬赏问题

  • ¥15 ETLCloud 处理json多层级问题
  • ¥15 matlab中使用gurobi时报错
  • ¥15 这个主板怎么能扩出一两个sata口
  • ¥15 不是,这到底错哪儿了😭
  • ¥15 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥15 可见光定位matlab仿真
  • ¥15 arduino 四自由度机械臂
  • ¥15 wordpress 产品图片 GIF 没法显示