当前位置: 首页 > 知识库问答 >
问题:

javascript中的parseInt方法返回垃圾值[重复]

酆晔
2023-03-14

可能重复:
为什么parseInt(1/0,19)返回18?

我在用javascript解析表达式结果中的整数。表达式是(a/b,24),它在一个方法中,因此我没有检查被零除的情况。我将整数解析为parseInt(a/b,24)

但是我发现了一个不寻常的东西,当a=1,b=0时,结果是151176378。

请解释这种差异的原因。

谢谢你的建议。

共有1个答案

寇桐
2023-03-14

当您运行parseInt(a/b,24)时,您正试图在base 24中解析a/b的结果(不知道这个数字系统会是什么样子)。

a/b返回Infinity,该值被转换为字符串值“Infinity”,然后使用base 24进行解析,因此您可以使用parseInt(“Infinity”,24)获得相同的结果。您将获得任意基数小于等于18的NaN结果(即parseInt(1/0,18))。

 类似资料:
  • 问题内容: JavaScript中的垃圾回收如何工作?它类似于.NET垃圾回收吗?难道是因为人们在VBScript中实现垃圾回收很不好,所以人们避免了垃圾回收并建立了对JavaScript作为其标准客户端语言的偏好? 问题答案: 垃圾收集如何工作? 简短的答案是:当某个内存块(例如某个对象)不再可访问时,有资格回收它。何时,如何回收或是否回收它完全取决于实现,并且不同的实现方式也不同。但是在语言级

  • 问题内容: 什么是JavaScript垃圾回收?为了编写更好的代码,对于Web程序员来说,了解JavaScript垃圾回收有什么重要意义? 问题答案: 从该页面引用: JScript使用了非世代的标记清除垃圾收集器。它是这样的: 每个“范围内”的变量都称为“清除剂”。清道夫可以指数字,对象,字符串等。我们维护一个清道夫列表- 变量进入作用域时将移入scav列表,超出范围时将其移出scav列表。 垃

  • 垃圾回收 我们对生产中花了很多时间来调整垃圾回收。垃圾回收的关注点与Java大致相似,尽管一些惯用的Scala代码比起惯用的Java代码会容易产生更多(短暂的)垃圾——函数式风格的副产品。Hotspot的分代垃圾收集通常使这不成问题,因为短暂的(short-lived)垃圾在大多情形下会被有效的释放掉。 在谈GC调优话题前,先看看这个Attila的报告,它阐述了我们在GC方面的一些经验。 Scal

  • 对于开发者来说,JavaScript 的内存管理是自动的、无形的。我们创建的原始值、对象、函数……这一切都会占用内存。 当我们不再需要某个东西时会发生什么?JavaScript 引擎如何发现它并清理它? 可达性(Reachability) JavaScript 中主要的内存管理概念是 可达性。 简而言之,“可达”值是那些以某种方式可访问或可用的值。它们一定是存储在内存中的。 这里列出固有的可达值的

  • 垃圾收集,引用计数,显式分配 和所有的现代语言一样,OCaml提供垃圾收集器,所以你不用像C/C++一样显式地分配和释放内存。 JWZ在他的文章 "Java sucks" rant(Java蛋疼(怒)!): 第一个好家伙是Java没有 free()。其他的都没有所谓了。这几乎掩盖了所有的缺点,不管有多糟糕, 这个有点让后续文档基本都没有意义了,但是...(译注:但是啥大家自己看吧) OCaml的垃

  • 简介 在本篇文章呢,我来介绍一下JavaScript中的垃圾回收的垃圾回收 JavaScript中的垃圾 来看一下在JavaScript中什么样的内容会被当做是垃圾,在我们后续的GC算法当中, 也会存在了一个垃圾的概念,两者的其实是完全一样的,所以在这里说明首先对于我们前端开发来说的。 JavaScript中内存管理是自动的,每当创建一个数组、对象或者函数的时候呢, 它就会自动的去分配相应

  • 主要内容:垃圾回收器函数,实例Lua 采用了自动内存管理。 这意味着你不用操心新创建的对象需要的内存如何分配出来, 也不用考虑在对象不再被使用后怎样释放它们所占用的内存。 Lua 运行了一个垃圾收集器来收集所有死对象 (即在 Lua 中不可能再访问到的对象)来完成自动内存管理的工作。 Lua 中所有用到的内存,如:字符串、表、用户数据、函数、线程、 内部结构等,都服从自动管理。 Lua 实现了一个增量标记-扫描收集器。 它使用

  • 主要内容:1 什么是Java 垃圾回收,2 Java 垃圾回收的优势,3 如何取消对象引用,4 finalize()方法,5 gc()方法,6 Java 垃圾回收的例子1 什么是Java 垃圾回收 在Java中,垃圾意味着未引用的对象。 垃圾回收是自动回收运行时未使用的内存的过程。换句话说,这是销毁未使用对象的一种方法。 我们在C语言中使用free() 函数,在C ++中使用delete()。但是,在Java中它是自动执行的。因此,java提供了更好的内存管理。 2 Java 垃圾回收的优势 它