value = +value; 有什么作用呢?

在MDN上学习js,看到Math.round方法有个对一个数取小数点后x位的四舍五入方法
其中有一句value = +value;不明白其原理及作用

MDN Decimal rounding的16行

补充问题:上面链接Decimal rounding 的19行如是写
if (isNaN(value) || !(typeof exp === 'number' && exp % 1 === 0))

是否这样写更简单明了?
if (isNaN(value) || typeof exp === 'number' || exp % 1 === 0)

阅读 3.2k
2 个回答
  1. 要解读 value = +value 的含义,需要知道js是一门弱类型语言,js的变量间可以相互转换类型。比如:字符串'11'可以被转化为数字11,反向也可转换。所以, value = +value是对变量value做了类型转换,使用加号运算来将value转化为数字类型(number)。

  2. if (isNaN(value) || !(typeof exp === 'number' && exp % 1 === 0)) 这句的逻辑不能改为if (isNaN(value) || typeof exp === 'number' || exp % 1 === 0)。这是的组合使用,应该不需要过多解释,多思考一下就懂了。

转换为数字的作用

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题