js方法参数传0开头的数字,出现神奇的问题,困扰我半天

今天我碰到一个神奇的问题,特地记录一下,其实很简单,怪我太年轻。。。

事情是这样的,一个js方法传入一个数字,平时都没问题的,举个简单的例子:

// 定义函数
function logNum(num) {
  console.log(num)
}

// 调用函数
logNum(123)

输出结果:123

在这里插入图片描述
这没问题是吧?

今天我传入了一个特殊的数字:0123,神奇的事情出现了:
在这里插入图片描述
怎么变成83了???

难道这个数字有特殊的意义?不能这么传?

换个数字试试:
在这里插入图片描述
真是百思不得其解啊!

后来,终于我在网上找到了一样的问题:
在这里插入图片描述
回答如下:
在这里插入图片描述

原来0开头的数字是表示八进制!

用八进制计算器算把0123转成十进制还真是83呢!
在这里插入图片描述

同理,十六进制数是用0x开头的:
在这里插入图片描述

真是怪我太年轻!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值