Javascript 中的 Infinity 属性有什么用?

2023-11-23

为什么 Infinity 属性用作命令(而不是结果)

例如,下面的代码可以工作,但结果不是我所期望的。

alert(isOdd(Infinity));

function isOdd(num) { return num%2==1; }

MDN 参考

无穷大是全局对象的一个​​属性,即它是一个变量 全球范围。

Infinity 的初始值为 Number.POSITIVE_INFINITY。价值 无穷大(正无穷大)大于任何其他数字。这 值在数学上的表现类似于无穷大;例如,任何积极的 数字乘以无穷大就是无穷大,任何除以 无穷大为 0。

首先这是什么意思?本质上,无穷大是一个概念,而不是实际值。数学基于概念而不是价值观。例如,数字不是值,数字才是。

数字 7 是预期值的概念,罗马人将其写为 VII,在标准形式(BASE-10)中将其写为 7。在二进制(BASE-2)中将其写为 111。如果您想使用只要概念应用正确,三角形或任何其他标记也可以。

现在您知道了,无穷大只是大于任何其他数字的概念。它没有任何价值。无限循环的基本概念意味着永远运行的唯一原因是,从概念上讲,这意味着无论您所处的循环迭代次数(无论是 1 还是一百万)无穷大,都将始终大于该数字。

在编码中应用概念的方法有很多,这就是为什么每个人的代码运行方式都不同,但例如:

样本取自 w3schools:

function findMax(x) {
    var i;
    var max = -Infinity;
    for(i = 0; i < arguments.length; i++) {
        if (arguments[i] > max) {
            max = arguments[i];
        }
    }
    return max;
} 
document.getElementById("demo").innerHTML = findMax(1, 123, 500, 115, 44, 88);

在该网站的示例中,他们将 6 个值的参数传递给函数 findMax findMax(1, 123, 500, 115, 44, 88);

然后他们使用循环在参数长度处停止。在循环中,它们将无穷大概念中的最大值重新分配给一个值,如果再次循环时大于该值,则最大值将更改为新的高值。

为什么这很重要?因为在这个例子中,他们使用了负无穷大的概念,这只是无穷大的值负递减。人们很容易认为 0 可以取代 -Infinity,但他们错了。这就是为什么。

如果您的值范围还取决于上面公式中传递的负值怎么办?如果您拥有的只是从用户输入或其他函数动态捕获的负值怎么办?

考虑 findMax 是 findMax(-1, -10, -15, -20);

0 会给出错误的输出,表明它是正确的最大值,这不是您想要的。您希望输出为 -1 1。还有其他方法可以实现该解决方案,但为了无限概念讨论,我将在此结束。

我希望这能让大家更多地了解 Infinity 概念的过程。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Javascript 中的 Infinity 属性有什么用? 的相关文章

  • 如何检测浏览器是否支持自定义元素

    我正在查看 Modernizr 它应该有助于功能检测 这应该可以帮助确定您的网站是否与给定的 Web 浏览器兼容 但我没有看到任何表明我可以使用它来检测自定义 HTML 的内容我们在内容中创建和定义的元素 如果不是 Modernizr 我如
  • 使用 vscode 调试器调试 next.js

    我已经使用安装了一个项目创建下一个应用程序 https github com segmentio create next app 我需要使用我的编辑器 vscode 调试服务器端渲染 所以我访问过vscode recipes 如何调试 ne
  • 了解设置 JQuery 变量

    了解设置 JQuery 变量 最近 我通过在 StackOverflow 上遇到的另一个问题寻找帮助 了解到如何设置 JQuery 变量 如下所示 您可以通过简单地调用变量来创建输入字段 并且锚变量似乎也定义了样式 var clicked
  • 从数据 URI 解码 QR 码

    我尝试从数据 uri 中解码二维码 var dataUri data image gif base64 R0lGODdh9gD2AIAAAAAAAP ywAAAAA9gD2AAAC decodeQrCode dataUri cb 我已经尝试
  • 每 3 秒重复一次动画

    我正在使用 WOW js 和 animate css 现在我正在将 CSS 运行到 Infinite 我想知道如何让我的课程运行 3 秒停止并再次开始到无限 My html img src images fork png class for
  • Web 串行 API - 未捕获(承诺中)DOMException:无法打开串行端口/所需成员 baudRate 未定义

    下面的代码可以在我的 Xubuntu 机器上运行 但现在我在 Kubuntu 上 它不再工作了 它不会打开端口 Arduino IDE 工作正常 可以向开发板写入代码 并且我可以在 Chrome 中选择设备 Arduino Uno 但当我尝
  • 如何重置使用 JavaScript 更改的 CSS 属性?

    我的导航按钮的宽度从 100px 增加到 150px 当鼠标悬停在 nav li hover width 150px 但是使用 javascript 我已经做到了 无论选择哪个选项 宽度都将继续为 150px 当选择每个选项时 它会使其他选
  • 如何防止 Iframe 在与浏览器交互后弄乱浏览器的历史记录?

    因此 就我而言 我使用 Iframe 将 Grafana 附加到我的页面 这为我提供了漂亮且易于使用的图表 可以注意到 每次在图表上进行放大或缩小 使用鼠标单击 交互后 Grafana 的 Iframe 都会在我的 Angular 页面上触
  • Javascript正则表达式用于字母字符和空格? [关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 我需要一个
  • Node.js:如何在检索数据(块)时关闭响应/请求

    我正在用 node js 构建一个应用程序 它加载多个页面并分析内容 因为 node js 发送块 所以我可以分析这些块 如果一个块包含例如索引 nofollow 我想关闭该连接并继续其余部分 var host example com to
  • 从未用 @flow 标记的导入文件中获取类型定义

    TL DR我怎么告诉flow从未声明的导入模块导入类型定义 flow 加长版 流接缝能够从不使用流语法的文件中派生类型 请参阅示例 示例文件 flow js if Math random lt 0 5 var y hello else va
  • 为什么是 javascript:history.go(-1);无法在移动设备上工作?

    首先 一些背景 我有一个向用户呈现搜索页面 html 表单 的应用程序 填写标准并单击 搜索 按钮后 结果将显示在标准部分下方 在结果列表中 您可以通过单击将您带到新页面的链接来查看单个结果的详细信息 在详细信息页面中 我添加了一个 返回结
  • 音频 blob 的 URL.createObjectURL 在 Firefox 中给出 TypeError

    我正在尝试从创建的音频 blob 创建对象 URLgetUserMedia 该代码在 Chrome 中可以运行 但在 Firefox 中存在问题 错误 当我打电话时stopAudioRecorder 它停在audio player src
  • 如何将 Google Charts 与 Vue.js 库一起使用?

    我正在尝试使用 Vue js 库使用 Google Charts 制作图表 但我不知道如何添加到 div 这是我尝试做的 这是如何使用普通 javascript 添加图表 这是文档的代码示例 https developers google
  • MVC 在布局代码之前执行视图代码并破坏我的脚本顺序

    我正在尝试将所有 javascript 包含内容移至页面底部 我正在将 MVC 与 Razor 一起使用 我编写了一个辅助方法来注册脚本 它按注册顺序保留脚本 并排除重复的内容 Html RegisterScript scripts som
  • 跟踪用户何时点击浏览器上的后退按钮

    是否可以检测用户何时单击浏览器的后退按钮 我有一个 Ajax 应用程序 如果我可以检测到用户何时单击后退按钮 我可以显示适当的数据 任何使用 PHP JavaScript 的解决方案都是优选的 任何语言的解决方案都可以 只需要我可以翻译成
  • Firefox 书签探索未超过 Javascript 的第一级

    我已经编写了一些代码来探索我的 Firefox 书签 但我只获得了第一级书签 即我没有获得文件夹中的链接 e g 搜索引擎 雅虎网站 谷歌网站 在此示例中 我只能访问 Search engines 和 google com 不能访问 yah
  • Grails 在 javascript 内的 GSP 站点中使用 grails var

    我有一个在 GSP 文件中的 javascript 代码中使用 grails 变量值的问题 例如 我有一个会话值session getAttribute selectedValue 我想在 javascript 代码部分使用这个值 我现在的
  • 如何使用tampermonkey模拟react应用程序中的点击?

    我正在尝试使用 Tampermonkey 脚本模拟对 React 元素的点击 不幸的是 由于 React 有自己的影子 DOM 所以天真的方法使用document querySelector 不工作 我遇到了一些需要修改 React 组件本
  • JQuery 图像上传不适用于未来的活动

    我希望我的用户可以通过帖子上传图像 因此 每个回复表单都有一个上传表单 用户可以通过单击上传按钮上传图像 然后单击提交来提交帖子 现在我的上传表单可以上传第一个回复的图像 但第二个回复的上传不起作用 我的提交过程 Ajax 在 php 提交

随机推荐

  • 计算出一天已过去的百分比

    有点奇怪的问题 但希望有人能帮忙 本质上 如果时间是中午 12 点 则经过百分比为 50 上午 6 点为 25 下午 16 点为 75 给定当前时间 您如何计算出已经过去了多少天 假设您可以获得一天中的当前时间 那么计算一天过去的百分比将非
  • JSpinner.DateEditor 必须包含年份,即使开始和结束是同一年

    我有一个使用 SpinnerDateModel 的 JSpinner 其开始日期为 2010 年 1 月 1 日 00 00 00 000 结束日期为 2010 年 1 月 1 日 00 12 34 217 我希望我的 JSpinner D
  • 如何设置在整个应用程序中可访问的全局变量

    我开发了一个带有全局变量的PHP页面 如下所示 global amty imgCache amty imgCache array GLOBALS amty imgCache amty imgCache 该页面具有向该数组添加 删除条目的功能
  • 使用管道符号作为分隔符拆分字符串

    为什么下面的输出是 并不是 1 String input 1 2 3 String values input split System out println values 0 Output 但是 如果我们更改分隔符 则输出为 1 Stri
  • Grub 2 未检测到内核中的多重引导标头

    我在使用 Grub 2 以及 QEMU 的 kernel 没有检测到我的内核中的 Multiboot v1 标头 我之前将标题放在单独的部分中 text linker ld SECTIONS 1M multiboot ALIGN 4K mu
  • 如何列出 git 存储库中跟踪文件的所有不同扩展名?

    我想知道所有不同的扩展名给定存储库中 git 跟踪的文件的数量 以便创建适当的 gitattributes file 预期输出示例 bat gitignore gradle html jar java js json md png prop
  • Golang 中的泛型方法参数

    我需要帮助才能使其适用于任何类型 我有一个函数 我需要接受其他类型ID财产 我尝试过使用接口 但这对我来说不起作用ID财产案 这是代码 package main import fmt strconv type Mammal struct I
  • 如何加密非阻塞 PHP 套接字流?

    我正在尝试以非阻塞 异步 方式使用 PHP 的stream socket client 函数 PHP 网站上的文档表明 STREAM CLIENT ASYNC CONNECT 选项标志应该启用此功能 然而 下面的代码 start time
  • C# .net 更改标签文本

    您好 我尝试使用此代码 但由于某种原因它不起作用 确实需要帮助 问题是当我进入网站时 标签不会从 标签 更改名称
  • 是否可以在我的网站上禁用 IE8“加速器”?

    我是一名专注于 UI 的 Web 开发人员 我的 Web 应用程序中的许多界面功能都是基于双击的 在 IE 中 这会带来新的烦人的问题 加速器 图标干扰我的用户界面 是否可以禁用我的页面上的 加速器 也许有一些新的愚蠢的特定于 IE 的me
  • 如何捕获div中的一行文本

    我浏览过与此相关的类似 SO 帖子 但没有一个完全符合我正在寻找的内容 假设我有一些文本 我将其放入 div 中 然后向该 div 添加一些任意 甚至可能是动态 宽度 有没有什么方法可以让我以编程方式捕获和操作 div 中的各个文本行 例如
  • Json.NET 按深度和属性序列化

    例如我们有两个类 class FooA SomeSpecialAttribute public int SomeValueA get set public int SomeValueB get set public int SomeValu
  • Persistence.xml放在eclipse项目的哪里

    简单的问题 我在Eclipse环境中有一些项目MainApp 企业应用项目 其中 包含 Web控制器 EJB项目 WebModel JPA 项目 WebView 动态Web项目 问题是 persistence xml 文件放在哪里 获取异常
  • Spring Boot、静态资源和mime类型配置

    我面临着无法处理的 Spring Boot 配置问题 我正在尝试使用 Spring Boot 为 HbbTV 构建一个 HelloWorld 示例 因此我需要使用 mime type application vnd hbbtv xhtml
  • 从本地服务器迁移到 Azure:TIMEZONE UTC。怎么解决?

    我设计我的应用程序时考虑到了这样一个事实 根据规范 应该在位于意大利的服务器上运行 并且客户端只能是意大利人 大约一个月前 我的老板决定将所有内容都放在 Azure 上 一切都很顺利 唯一给我带来问题的是时间服务器是 UTC 解决方案是 一
  • 标记为“内容”->“始终复制”的文件不会被复制

    我的 C VS2010 项目的文件夹中有一个文件标记为Content and Always Copy 当我更改此文件并将其保存到 VS 外部 然后运行该项目时 修改后的文件不会复制到输出中 如果我重建 那就是 我的猜测是VS不会使用文件的修
  • 在自定义 powershell 函数中模拟 -ErrorAction

    如何在自定义 powershell 函数中模拟 ErrorAction 例如考虑以下脚本 function Foo2 Write Host in Foo2 Error occurs Foo3 function Foo1 Write Host
  • 是否值得在代码中缓存 glsl 统一位置?

    我希望能够通过着色器中的实际名称设置制服 myProgram uniform3fv uniformVector 0 0f 0 1f 1 0f 我是否必须以某种形式的地图缓存位置 std map
  • Android 片段显示为对话框片段或普通片段

    我想要实现的是有一个片段 在平板电脑上显示为DialogFragment 而在智能手机上它将显示为常规片段 我知道已经有一个类似的帖子 但我无法做到这一点 将样式应用于片段 为了自上而下地显示内容 MainActivity java pub
  • Javascript 中的 Infinity 属性有什么用?

    为什么 Infinity 属性用作命令 而不是结果 例如 下面的代码可以工作 但结果不是我所期望的 alert isOdd Infinity function isOdd num return num 2 1 MDN 参考 无穷大是全局对象