“+var === +var”内部如何工作来验证 var 是否是数字?

2024-01-15

看到这个问题:JavaScript 中是否有一种(内置)方法来检查字符串是否为有效数字? https://stackoverflow.com/questions/175739/is-there-a-built-in-way-in-javascript-to-check-if-a-string-is-a-valid-number和这个:jsperf http://jsperf.com/isnan-vs-typeof/5,提出的方法之一是(比照):

var a = "123"
var b = "123b"

if ( +a === +a ) // true

if ( +b === +b ) // false

这个逻辑是如何运作的内部在 JavaScript 中使这成为可能?

我的问题是not如何检查字符串是否是有效数字 - 这已经在这里得到解答:在 JavaScript 中验证十进制数字 - IsNumeric() https://stackoverflow.com/questions/18082/validate-decimal-numbers-in-javascript-isnumeric。我想了解该声明如何+a === +a works.


+将值转换为数字。

a被转换为123 and 123 === 123.

b被转换为NaN but NaN !== NaN(因为NaN永远不等于另一个NaN根据平等规则的步骤 4a http://www.ecma-international.org/ecma-262/5.1/#sec-11.9.6).

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

“+var === +var”内部如何工作来验证 var 是否是数字? 的相关文章

随机推荐

  • Mesa + Linux:gl.h 不包含现代 OpenGL

    这是我目前使用的环境 Eclipse Luna Linux Mint Rebecca 上的 C 11 当我尝试使用现代 OpenGL 例如 VAO 或 VBO 时 我收到编译器错误 导致方法无法解析 例如 GLuint VaoID GLui
  • F# 中 Control.Observable 和 Control.Event 模块之间有哪些相似/差异?

    F 至少在 Visual Studio 2012 中 两者兼而有之Control Observable http msdn microsoft com en us library ee370313 v vs 110 aspx and Con
  • 带有scope.$watch的Angular指令强制验证其他字段

    我写了一个match model当用户在我的应用程序中注册时 我用于密码 密码重复过程的角度指令 密码重复字段具有此特定属性 可根据原始密码字段验证此字段 我的指令有scope watch出于优化目的 因为我不必每次验证重复密码范围属性时都
  • 枚举和使用带有常量的静态类有什么区别?

    这两项之间的性能影响是什么 我最近在野外看到了静态类 但我不知道如何理解它 public enum SomeEnum One 1 Two Three public static class SomeClass public static r
  • OpenGL 二进制程序格式是否标准化?

    我一直在谷歌上搜索 OpenGL 二进制格式及其实际含义 到目前为止我还没有取得太大的成功 我知道我可以按如下方式获取数量和格式集 glGetIntegerv GL PROGRAM BINARY FORMATS values 0 其中 va
  • NX Monorepo 和库中的情感主题

    我们想用useTheme from emotion react在库内和我们的应用程序内 我们正在使用 反应本机网络 nx monorepo 反应本机 这是我们的结构 apps web ReactJS mobile React native
  • 如何使用 Gallio 和 MBUnit 以编程方式运行单元测试?

    作为部署过程的一部分 我正在尝试以编程方式检查我的单元测试是否通过 该应用程序使用 MBunit 和 Gallio 作为其单元测试框架 这是我的代码 var setup new Gallio Runtime RuntimeSetup set
  • ASP.NET MVC 操作被调用两次

    我有一个特定的控制器操作被调用两次 这除了奇怪之外还导致我的应用程序的单例部分出现问题 这并不是真正的问题 它只是引起了我对两次调用的注意 知道为什么控制器操作每次都会执行两次吗 不回来false或者阻止对通过 AJAX 进行调用的链接上的
  • 如何将 QFlags 与 QML 结合使用?

    我有一个我创建的 QFlag 我想在 QML 中使用这个 QFlag 具体来说 我希望能够将几个标志组合在一起 并将它们作为参数传递给方法 我注意到这里没有明确列出 QFlags 作为 QML 支持的数据类型 http doc qt nok
  • iOS .onContinueUserActivity 未被调用

    onContinueUserActivity从未被调用过Apple 提供的状态恢复示例应用程序 https developer apple com documentation swiftui restoring your app s sta
  • 哪些语言向开发人员公开 IEEE 754 陷阱?

    我想出于教育目的玩这些陷阱 数值微积分中默认行为的一个常见问题是我们 错过 了错误运算中出现的 Nan 或 inf 默认行为是通过计算进行传播 但某些操作 如比较 会破坏链条并释放 Nan 并且其余处理将继续 而不会在算法的先前步骤中确认奇
  • Mysql存储函数和分组最小值[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 Schema 数据库架构得到简化 活动表该表存储事件 CREATE TABLE Events event id bigint 20 u
  • MethodImpl(AggressiveInlined) - 它有多激进?

    所以我稍微看了一下MethodImpl 属性 http msdn microsoft com en us library system runtime compilerservices methodimplattribute v vs 11
  • iOS 中 Unity Json.net System.Reflection.Emit 错误

    我按照说明将 link xml 包含在 asset 文件夹中 但仍然收到错误 我认为这可能与反序列化字典有关 因为错误紧随其后 System Collection Generic IDictionary 2 set Item TKey TV
  • 如何在注释处理中引用方法的实现?

    我正在研究 Java javax 注释处理 假设我有一个方法注释 Target ElementType METHOD public interface MethodAnnotation 现在我想处理从带注释的方法的类型重写的所有方法 int
  • 主干视图的私有和公共变量

    在主干视图中 您将把私有变量和公共变量放在哪里 现在我有这样的事情 myView Backbone View extend initialize function options this myPublic I m public 我尝试添加
  • array_map 和 htmlentities

    我一直在尝试使用array map to 将字符转换为 HTML 实体 with htmlentities 像这样 lang array map htmlentities lang 我的数组如下所示 lang array lang var
  • 如何在没有 Amazon Cognito 的情况下使用 AWS S3?

    我正在使用 Node js REST API 来验证我的用户 一旦他们通过身份验证 我就允许他们发布带有文字的照片 我的计划是将照片的文本和 URL 存储在数据库中 这样 当他们访问帖子提要时 我的应用程序将查询数据库以获取文本和 URL
  • PyQt6:AttributeError:类型对象“QImage”没有属性“Format_RGB888”[重复]

    这个问题在这里已经有答案了 我试图将代码从 PyQt5 移植到 PyQt6 但出现以下错误 AttributeError type object QImage has no attribute Format RGB888 尽管在 PyQt6
  • “+var === +var”内部如何工作来验证 var 是否是数字?

    看到这个问题 JavaScript 中是否有一种 内置 方法来检查字符串是否为有效数字 https stackoverflow com questions 175739 is there a built in way in javascri