javascript - 为什么在 Error 上使用 parseInt 返回 14?

标签 javascript parseint

考虑以下几点:

parseInt(new Array(), 10); // -> NaN
parseInt(new Array(), 16); // -> NaN

parseInt(new Error(), 10); // -> NaN
parseInt(new Error(), 16); // -> 14

似乎这种行为是错误/错误实例所独有的。谁能提供见解?

最佳答案

基本上,那是因为:

  • new Error().toString() 产生 "Error",并且
  • parseInt("Error", 16) 产生 14(因为 0xE14 并且解析器停止在 r).

另一方面,new Array() 不会触发相同的行为,因为数组对象的 toString() 方法返回数组的内容,由逗号,而不是类名。因此,new Array().toString() 生成空字符串,parseInt() 随后生成 NaN

关于javascript - 为什么在 Error 上使用 parseInt 返回 14?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35274144/

相关文章:

javascript - notification.js 选项不起作用

javascript - Angular 2 Material Input动态更改占位符

javascript - 如何使用文件系统或使用javascript或Jquery进行操作?

java - 在Java中如何解析通过将字符串拆分为Int值而获得的数据?

javascript - Math.max 和 parseInt 遇到错误

javascript - 为什么 parseInt() 没有正确转换我的数字字符串?

javascript - Angular - 创建对象映射

javascript - 第二次单击时表行更新。表单验证 JavaScript

java - 拖放中的 NPE

sql - Oracle 中的异常处理