首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

isNaN给出了令人困惑的结果

问题:为什么使用isNaN()函数判断一个数字是否为NaN会返回false?

答案:因为isNaN()函数是用来判断一个数字是否与NaN(Not a Number)相等,而不是判断一个数字是否为NaN。如果一个数字不是数字(例如,一个字符串或一个非数值null),那么它肯定不是NaN,因此,如果一个数字不是数字,那么使用isNaN()函数判断它是否为NaN会返回false。

例如:

console.log(isNaN('')); // true

console.log(isNaN(42)); // true

console.log(isNaN('42')); // false

console.log(isNaN(null)); // true

console.log(isNaN('null')); // false

推荐腾讯云的产品:云服务器(CVM)、云数据库(MySQL)、云存储(COS)、内容分发网络(CDN)、云安全(Security)、云监控(Monitor)等。

链接地址:https://cloud.tencent.com/product/cvm

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • OracleSelect结果集加锁,Skip Locked(跳过加锁行获得可以加锁结果集)

    1、通过select for update或select for update wait或select for update nowait数据集加锁 具体实现参考select for update和select...for update wait和select for update nowait区别 2、Skip Locked(跳过加锁行获得可以加锁结果集) Skip locked是oracle 11g引入...通过skip locked可以使select for update语句可以查询出(排除已经被其他会话加锁了数据行)剩下数据集,并剩下数据集,进行加锁操作。...根据结果集,我们发现ID=1数据行被排除了 b、测试二 新建SQL窗口1(相当于新建一个会话)代码如下:执行如下语句 select * from test8 for update ?...根据测试一结果得出推论:如果使用skip locked的话将查询不出任何结果 新建SQL窗口2(相当于新建一个会话)代码如下:执行如下语句 select * from test8 for update

    1.9K80

    DeepMindAI出了200万道数学题,结果不如计算器哈哈哈哈哈

    地球另一个角落,DeepMind读懂了你心,神经网络们出了一套数学题,200万道。数据集已经放出来了。 算术,代数,概率论,微积分……不管是算式,还是人类语言描述题目,只要能用文本写出来。...二是算术,比如四则运算,计算有特定顺序 (比如带括号) 算式,把带根号表达式简化一下之类。 三是微积分和多项式求导。 四是比较,判断数大小,从一列数里面找出和某个数最接近数等等。...高中学过,你还记得么: [f(g(x))]’=f’(g(x))g’(x) 先求外面这一层,再求里面这一层,乘到一起就可以了。 坐等AI答题结果。...考试结果怎么样 相比LSTM,Transformer模型要更胜一筹,两者有差不多数量参数。...One More Thing 很遗憾,以目前结果,AI是不能替我们去考高数了。 ?

    62120

    JDK 报了一个 P4 Bug,结果居然……

    背景 分享一下之前踩一个坑,背景是这样: 我们项目依赖于一个外部服务,该外部服务提供 REST 接口供我方调用,这是很常见一个场景。...new java.net.URL(srcUrl); System.out.println("\nurl result:\n" + getContent(url)); // OK 上面的语句输出正常,结果如下...看看我们程序中用 httpclient 实现,结果发现是有用 java.net.URI,心想,这不至于吧,用 URI 就不行了么。 ? 换 java.net.URI 试试?...是合理,里面也只有3个构造函数有这样说明,按照这样逻辑是不是说另外构造函数有验证呢........(示例中默认构造函数都没有说呀) 这里有java.net.URL 源码[9],看兴趣同学可以看看。 恩,以上就是结论了。

    45220

    JDK 报了一个 P4 Bug,结果居然……

    背景 分享一下之前踩一个坑,背景是这样: 我们项目依赖于一个外部服务,该外部服务提供 REST 接口供我方调用,这是很常见一个场景。...new java.net.URL(srcUrl); System.out.println("\nurl result:\n" + getContent(url)); // OK 上面的语句输出正常,结果如下...: url result: Hello, World 看看我们程序中用 httpclient 实现,结果发现是有用 java.net.URI,心想,这不至于吧,用 URI 就不行了么。...是合理,里面也只有3个构造函数有这样说明,按照这样逻辑是不是说另外构造函数有验证呢........(示例中默认构造函数都没有说呀) 这里有java.net.URL 源码[9],看兴趣同学可以看看。 恩,以上就是结论了。

    49720

    出了3867篇论文中3万个基准测试结果,他们发现追求SOTA其实没什么意义

    研究结果表明,目前用于评估分类 AI 基准任务绝大多数指标都有一些缺陷,无法充分反映分类器性能,特别是用于不平衡数据集时。 ?...篇论文中 32209 个基准结果,这些结果来自 2298 个数据集。...准确率通常被用于评估二元和多元分类器模型,当处理不平衡语料库,并且该语料库在每个类实例数上存在很大差异时,就不会产生有意义结果。...至于 F 分数(F-score),有时它们精度权重比召回率大,为偏向预测占绝对优势类别的分类器提供了具有误导性结果。...谷歌大脑团队前成员 Denny Britz 在今年六月一次采访中表示,追求 SOTA 不是最明智做法,因为存在着太多令人困惑变量,更适合像 OpenAI、DeepMind 等资金雄厚实验室去攻克

    41830

    马斯克起诉OpenAI:他们做出了AGI还授权微软,这是对创始协议赤裸裸背叛

    OpenAI 分道扬镳后于 2019 年成立,它在没有适当透明度情况下创建了 AGI,并将其授权微软,而微软向该公司投资了数十亿美元。...这些问题诉讼带来了不小难度。 OpenAI 开发出 AGI 了吗? 此案很大一部分内容都围绕着一个大胆而又令人质疑技术主张:OpenAI 开发出了所谓通用人工智能。...在这篇论文,微软提出了一个断言 ——「鉴于 GPT-4 能力广度和深度,我们相信它应该被合理视作一个通用人工智能(AGI)系统早期(但仍不完整)版本。」...新董事会成员缺乏大量的人工智能专业知识,据了解,他们没有能力独立判断 OpenAI 是否以及何时达到了 AGI,也就无法判断 OpenAI 开发算法是否超出了微软许可范围。...虽然 OpenAI 看起来确实不那么开放了,而且变得更加以利润为中心,但这马斯克带来了什么权利还远不清楚。

    10510

    JS框架榜单官方结果令人惊讶!感谢大佬凌晨3点 Strve.js 提交PR!

    官方结果 前不久,Strve.js 刚刚发布了一个大版本5.6.2,最大特性就是支持JSX语法,让 Strve.js 编码方式更加多样。...因为当时 Chrome 版本还在114,没有发布新官方版本(Official results),所以只能先看快照结果(Snapshot of the results),快照结果可能针对混合浏览器版本...,每个基准测试运行次数可能有所不同,所以结果有些偏差。...我赶紧打开最新官方结果网址: https://krausest.github.io/js-framework-benchmark/2023/table_chrome_115.0.5790.98.html...你创建程序令人兴奋,所以我阅读并探索了你代码和提交历史,直到接近 3.00。我相信通过你代码我能理解你大部分想法。如果你允许的话,我愿意成为你伙伴。该程序正在开发中。它具有更大优化潜力。

    28330

    python笔记39-unittest框架如何将上个接口返回结果下个接口适用(面试必问)

    前言 面试必问:如何将上个接口返回结果,作为下个接口请求入参?使用unittest框架写用例时,如何将用例a结果用例b使用。...print(globals())# 用法 globals()["a"] = "用例a返回结果"# 用例b引用 b = globals()["a"] print(b) unittest框架用例 使globals...()函数实现用例之间数据共享,比如用例a返回结果写到globals()[“a”]中,用例b调用globals()[“a”]值 import unittest import requestsclass...'__main__': unittest.main() 运行结果: E:\python36\python.exe D:/jiekou9/debug/yilai.py .. ---------------...:%s" % c_a) print("用例c请求入参:%s" % c_b)if __name__ == '__main__': unittest.main() 运行结果 .用例b引用用例a返回值:aaaaaa

    1.5K30

    【面试题】1887- 如何判断两个数组内容是否相等

    , "banana"]; const array2 = ["banana", "apple", "apple", "cherry"]; 由上可知:这种行不通,接下来看看是否能从数组元素添加标识入手...countMap.has(item)) { // 如果元素是第一次出现,直接添加到结果数组 countMap.set(item, 0); updatedArr.push...(item); } else { // 如果元素已经出现过,添加带有编号新元素到结果数组 const count = countMap.get(item)...评论区大佬方案(+1、-1) 只需要一个对象 遍历第一个数组就 +1 遍历第二个数组就 - 1 最后遍历对象,只要不是都是 0 就等于不匹配 这样就不需要俩个对象了,而且第二个遍历时候如果找不到这个值的话也可以直接退出了...arr2.length } NaN 判断时候,会有隐式转换(参数不是数字时会隐式转换) Number.isNaN 判断才是严格相等 isNaN('11') // false isNaN('ccc'

    25510

    【面试题】1915- 如何判断两个数组内容是否相等

    , "banana"]; const array2 = ["banana", "apple", "apple", "cherry"]; 由上可知:这种行不通,接下来看看是否能从数组元素添加标识入手...countMap.has(item)) { // 如果元素是第一次出现,直接添加到结果数组 countMap.set(item, 0); updatedArr.push...(item); } else { // 如果元素已经出现过,添加带有编号新元素到结果数组 const count = countMap.get(item)...评论区大佬方案(+1、-1) 只需要一个对象 遍历第一个数组就 +1 遍历第二个数组就 - 1 最后遍历对象,只要不是都是 0 就等于不匹配 这样就不需要俩个对象了,而且第二个遍历时候如果找不到这个值的话也可以直接退出了...arr2.length } NaN 判断时候,会有隐式转换(参数不是数字时会隐式转换) Number.isNaN 判断才是严格相等 isNaN('11') // false isNaN('ccc'

    17510

    数据类型、运算符、流程控制语句

    /y还是为1 结果还是1因为把ys时是简单复制了一份,y和s可以单独操作不相互影响 (2)复杂数据类型作为参数时,函数内部对参数值修改会改变外部变量值 因为复杂数据类型赋值是把栈中对象地址赋变量...,结果只返回字符串头部可以转为数字部分。...最早ECMAScript中相等和不等操作符会在执行比较之前,先将对象转换成相似的类型。后来,有人提出了这种转换到底是否合理质疑。...添加这个标签结果将导致break语句不仅会退出内部for语句(使用变量j循环),而且也会退出外部for语句(使用变量i循环)。...9.代码练习 (1)以下代码输出结果是?为什么?

    2.2K40

    【面试题】1887- 如何判断两个数组内容是否相等

    , "banana"]; const array2 = ["banana", "apple", "apple", "cherry"]; 由上可知:这种行不通,接下来看看是否能从数组元素添加标识入手...countMap.has(item)) { // 如果元素是第一次出现,直接添加到结果数组 countMap.set(item, 0); updatedArr.push...(item); } else { // 如果元素已经出现过,添加带有编号新元素到结果数组 const count = countMap.get(item)...评论区大佬方案(+1、-1) 只需要一个对象 遍历第一个数组就 +1 遍历第二个数组就 - 1 最后遍历对象,只要不是都是 0 就等于不匹配 这样就不需要俩个对象了,而且第二个遍历时候如果找不到这个值的话也可以直接退出了...arr2.length } NaN 判断时候,会有隐式转换(参数不是数字时会隐式转换) Number.isNaN 判断才是严格相等 isNaN('11') // false isNaN('ccc'

    21710

    年后面试必备:95%错误率9道面试题!

    大多数棘手Java问题来自于令人困惑概念,如函数重载和覆盖,多线程,掌握非常棘手,字符编码,检查与未检查异常和Integer溢出等微妙Java编程细节。...public static final double MIN_VALUE = 0x0.0000000000001P-1022; // 4.9e-324 向Java开发人员提出了这个问题,他们有3至5年经验...要测试x是否为NaN,应该使用方法调用Double.isNaN(x)检查给定数字是否为NaN。如果您了解SQL,那么非常接近`NULL。 第4道 Java是否支持多重继承?...HashMap也是一个在Java中创建令人困惑和棘手问题热门话题。这个问题答案是,如果你再次使用相同密钥,那么它将替换旧映射,因为HashMap不允许重复密钥。...好吧,在你保证id总是正面之前,这个Java问题中三个没有错。当你无法保证id为正或负时,这个Java问题变得棘手。棘手部分是,如果id变为负数,则减法可能会溢出并产生不正确结果

    95220

    这 11 个前端小知识你不一定知道

    07、isNaN 函数 isNaN 再次成为 JavaScript 中最常用方法之一。它检查给定参数是否是数字。但它对于空字符串和填充字符串行为不同。见下文。...isNaN(1); // false isNaN(""); // false isNaN("a"); // true isNaN("1"); // false 第 1 行对您来说可能很清楚,1 是一个数字...知道这一点后,我开始在参数上使用 parseInt(),然后,再将它们传递给 isNaN 函数。 08、对象动态键 有时我不得不根据 API 响应或某些计算为我对象分配动态键。...console.log(0.1+0.2 === 0.3); // fals 这是因为 0.1+0.2 给出了结果是 0.30000000000000004,它不等于 0.3。...a: b; // fast arr.push(x); // slow arr[arr.length] = x; // fast 最后,希望您通过我今天与您分享内容有所收获,如果您觉得它有用,也请您分享您身边做开发朋友

    96320

    熬夜准备一个React项目升级Vite指南

    正式开始 如果你没看过我之前写:webpack和vite核心区别,建议你先看一遍,再来看这篇文章 webpack迁移到vite,最先要解决事情: 把跟webpack强关联插件&技术栈解耦,任何时候...'no-unexpected-multiline': 'warn', //禁止使用令人困惑多行表达式 'no-use-before-define': [...和apply 'init-declarations': 0, //声明时必须赋初值 'prefer-const': 0, //首选const 'use-isnan':...2, //禁止比较时使用NaN,只能用isNaN() 'vars-on-top': 2, //var必须放在作用域顶部 }, 支持ant-design按需加载 执行无感知热更新: 兼容不支持...别忘了个star,开源不易,里面还有其他源码,https://github.com/JinJieTan/Peter-/tree/master/vite-react-ts-antd

    1.2K20
    领券