- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在学习JavaScript,书上有一个例子:
<!DOCTYPE html>
<html>
<head>
<title>Number Example 2</title>
<script type="text/javascript">
var result = Number.MAX_VALUE + 1;
alert(isFinite(result)); // the book says it should be false, but I got "true"
</script>
</head>
<body>
</body>
</html>
运行此代码时我收到警报消息“true”,有什么问题吗?
最佳答案
Number.MAX_VALUE
加上任何其他值都会返回 Number.MAX_VALUE
因此,例如,以下语句是true
:
Number.MAX_VALUE + 1 === Number.MAX_VALUE + 2
既然我们已经做到了,下面的陈述也是true
:
Number.MAX_VALUE + 1 === Number.MAX_VALUE + 999999
在某些时候,该语句会变为false
:
Number.MAX_VALUE + 1 === Number.MAX_VALUE + 999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 // true
但是再添加一个 9
会返回 false
:
Number.MAX_VALUE + 1 === Number.MAX_VALUE + 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 // false
但是,如果我们将 Number.MAX_VALUE
添加到自身,它会返回以下内容:
Number.MAX_VALUE + (Number.MAX_VALUE) === Infinity
乘法有点棘手。当我们将 Number.MAX_VALUE
与任何大于 1
的值相乘时,它会返回 Infinity
Number.MAX_VALUE * 1.00000001 === Infinity
关于javascript - isFinite(Number.MAX_VALUE + 1) 返回 true?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25532240/
为什么 undefined 的值在 javascript 中被认为是有限的,而 null 则不是? 这是一个非常基本的问题,它阻碍了我的 googlefoo(太多噪音)。 isFinite(undef
我感兴趣的是为什么将空对象初始化器传递给 isFinite 会导致 False。传递空数组时结果为 True?他们两者导致不同的结果合乎逻辑吗? Tldr:是有限的([]);//真的是有限的({});
以下定义的 C# 替换是什么? #define IS_FINITE(x) (0x7FF0 != (*((unsigned short*)(&x) + 3) & 0x7FF0)) 也许 double.I
检查值是否为 NaN , 我们可以使用Double.isNaN() . 在grepcode , 实现是这样的。 public static boolean isNaN(double v){ r
我知道我做错了,但我不知道如何做正确。在我的执行代码中,我的系列来自于我对其进行了分组的大型数据帧。在实际代码中,分配发生在循环中,从系列中选择各个切片。 下面的代码会导致类型错误:输入类型不支持 u
我正在尝试验证价格字段。我正在尝试这个: var productId = document.getElementById("productId"); var productName = documen
我要做出设计选择。我有一个模板类 myClass有一个成员 data_类型 T .目前打算支持int ,几个复杂类型,和 double ;从而形成浮点型、整数型、复数型三类模板。 函数checkVal
由于我不明白的原因,我得到了这个异常。比较复杂,我的np.array v 是从哪里来的,但是这里是异常发生时的代码: print v, type(v) for val in v: print
谁能问我为什么Number.isFinite没有类型保护,如 number is number ? 此示例提供错误 Object is possibly 'undefined' function in
我遇到了goog.math.isFiniteNumber Google Closure Library 中的函数。它的作用是检查给定的数字是否是有限的且不是 NaN . 底层代码是: goog.mat
我使用 isFinite 来确定数组中的键是否正确, for (x in selectList) { if (isFinite(x)) { $('#' + s
isFinite(args) 是一个 JavaScript 函数,如果 args 可以是整数,则返回 true > isFinite(3) =>> true > isFinite("3") =>> t
我正在尝试追踪为 C++ 应用程序定义 isfinite() 的位置。我一直在共享库上运行 nm 到 grep for isfinite,也在共享库的共享库上递归运行,但到目前为止还没有找到了一个为
以下是对我有意义的示例。 isFinite(5) // true - makes sense to me, it is a number and it is finite typeof 5 //
C++11 和 C11 标准定义了 std::isfinite 功能。 Visual Studio 2012 似乎没有提供它作为cmath或 math.h ,但有 amp_math.h哪一个 seem
我的输出中出现了无穷大这个词,我试图在它变成实际数字时更改它的颜色。 所以当我检查它是否为 Finite 时,它会变成橙色,但当它实际上变成一个数字时 - 我无法让它变成黑色。我和这个很接近,我写
在为 android 进行交叉编译时出现以下错误。 Cross compiler used SDK/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-
我得到了一个包装类,它有一个简单且轻量级的隐式转换运算符到 double . 我喜欢像使用 double 一样使用它,例如: if (!std::isfinite(myVar)) ... 但是 std
TypeError: ufunc 'isfinite' not supported for the input types, and the inputs could not be safely co
根据 std::isfinite 的文档,重载 bool isfinite( IntegralType arg ) 总是将 arg 转换为 double 并调用 bool isfinite( doub
我是一名优秀的程序员,十分优秀!