在JavaScript中偶然遇到Infinity property,想知道在哪个世界中可以使用它?请任何现实生活中的例子。
答案 0 :(得分:2)
如果您不知道array
或mathematical-function
的最小值是这样的话,您可以使用它:
var minimum = Infinity;
var i = 0;
for(i = 0; i < array.length; i++) {
if(array[i] < minimum) {
// new minimum found
minimum = array[i];
}
}
alert("Minimum: " + minimum);
答案 1 :(得分:2)
这是另一个现实生活中的例子:
var x = +prompt('Enter x:'),
y = +prompt('Enter y:'),
value = Math.pow(x, y);
if (value === Infinity || value === -Infinity) {
console.log('The value is too large!');
}
例如,如果输入的值为1e100
和100
,则power方法会返回Infinity
。
答案 2 :(得分:1)
我假设您在询问为什么会有Infinity
全球财产,而不是为什么首先有无限的概念,这是另一个物质
它允许轻松地与Infinity
值本身进行比较,您可以从某些算术中获取它:
function inv(x) {
return x * 100000000000;
}
inv(1e999) === Infinity;
由于1 / 0
在数学中不等于Infinity
,所以此功能特别有用,因此您可以使用1 / 0
并不明显。
如果您希望数字比较始终返回true,并且您正在使用变量,则可以将变量设置为Infinity以始终强制条件为真。举个例子:
var a = Infinity; // some number from elsewhere
var arr = [];
function foo(maxLen) {
if (arr.length < maxLen) arr.push(1);
}
foo(a); // you can't change the function
如果您无法更改使用的比较语句,这可能很有用。