【发布时间】:2018-04-07 00:11:17
【问题描述】:
抱歉,这是一个显而易见的问题。我正在划分两个变量并接收 Infinity 作为我的结果。以下是详细信息:
typeof a //'number'
typeof b //'number'
typeof (a-b) //'number'
typeof ((a-b)/(b)) //'number'
a - b = xxx.xxxxx //this works
(a - b)/b = Infinity
这里有更多细节:
a and b are five decimal places (XXX.XXXXX)
// the variables are generated from ....
var z = document.getElementById('foo').getBoundingClientRect()
var y = document.getElementById('bar').getBoundingClientRect()
var a = z.x
var b = y.x
foo 是一个 div,bar 是一个表格
a 在函数外部生成
b 是在函数内部从 .on('scroll', ....) 生成的
<div id="foo">
<table id='bar'>
</table>
</div>
我假设我的问题来自typof = 'number'。
试图在以下内容中找到我的答案:
- typeof number + typeof number = NaN?
- Infinity is some number in javascript?
- Why does typeof NaN return 'number'?
- https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/isInteger
- Overloading Arithmetic Operators in JavaScript?(我没看懂)
- https://www.sharkys.com/food/menus/(别怪我。我饿了。)
【问题讨论】:
-
问题是什么?
-
这个怎么样...
typeof NaN === "number"!我是不是让你大吃一惊?此外,JavaScript 没有Division by Zero错误。相反,你会得到infinity。 -
typeof(Infinity)等于number所以((a-b)/(b))也可能评估为Infinity。
标签: javascript