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

Under the Hood: NaN of JS

同时需要注意的是,NaN 只会出现在浮点类型中,而不会出现在 int 类型里(当然 JS 并没有这个概念) 什么意思?用你熟悉的任何支持 int 和 double 两种类型的语言(比如 C)。...比如我们在 JS 中可以使用类似于 NaN+1,NaN+'123' 的操作,还不会报错。 而 Signaling NaN 就是一个“爆脾气”。...如果你想直接操作它的话,会抛出一个异常(或者称为 Trap)。也就不允许 NaN + 1 这种操作了。...如果某一个数的内部结构满足第 2 位到第 9 位全 1,剩下的 22 位不为 0,那它就是 NaN。...在 Compile Time,编译器如果在代码中碰到了 NaN 常量,就会自动将替换成 NaN 对应的那个常量,比如上文提到的 0x7fc00000。

1.4K20
您找到你想要的搜索结果了吗?
是的
没有找到

分享18个用于处理 null、NaN 和undefined 的 JS 代码片段

检查 NaN: 要检查值是否为 NaN(非数字),可以使用 isNaN() 函数: if (isNaN(value)) { // Code to handle NaN value } 4....如果为 null 或undefined则默认为某个值: 如果变量为 null 或undefined,您可以使用逻辑 OR 运算符 (||) 提供默认值: const result = variable...如果NaN,则默认为一个值: 如果值为 NaN,您可以使用 isNaN() 函数以及逻辑 OR 运算符来提供默认值: const result = isNaN(value) ?...将 null 或 undefined 转换为零: 如果需要将 null 或 undefined 转换为零,可以使用逻辑 OR 运算符和数字零: const result = variable || 0;...使用 NaN 进行短路评估: 如果值为 NaN,则可以使用逻辑 AND 运算符进行短路评估: const result = !isNaN(value) && someFunction(); 13.

38950

JS中的NaN和isNaN,简直是双重人格?

isNaN([12]) =>false isNaN(/^$/) =>true isNaN(function(){}) =>true 1、isNaN检测的机制:首先验证当前要检测的值是否为数字类型的,如果不是...如果当前字符串中出现任意一个非有效数字字符,结果则为NaN Number('13.5') ->13.5 可以识别小数 [布尔转数字] Number(true) ->1 Number(false) ->...NaN的比较   NaN==NaN:false NaN和谁都不相等,包括自己 if(Number(num)==NaN){   alert('num不是有效数字!')...0 =>false 两个叹号只剩下转换为布尔类型了,等价于Boolean // [程序自己需要转换 =>一般都是条件判断的时候],if内的值会默认转换成布尔类型,如果为真执行,为false则不执行 if...(1){ //=>如果条件成立,执行大括号中的代码 //=>浏览器会把1作为条件:把它转换为布尔的TRUE,条件成立 } 特殊情况:数学运算和字符串拼接 “+” 当表达式中出现字符串,就是字符串拼接

1.4K30

如果你要学JS⑨】——趣学函数

JS里面,可能会定义非常多的相同代码或者功能相似的代码这些代码可能需要大量重复使用。虽然for循环语句也能实现一些简单的重复操作,但是比较具有局限性,此时我们就可以使用JS中的函数。...1.如果实参的个数和形参的个数一致则正常输出结果2.如果实参的个数多于形参的个数会取到形参的个数3.如果实参的个数小于形参的个数整理出来就是这样一个表格,方便大家观看。...console.log(arr1); var arr2 = sort([91,44,52]); console.log(arr2); 冒泡排序3.函数判断闰年如果是闰年...} var num = runNian(2322); console.log(num); 这里的 if(runNian(year1))意思是,如果返回值是...true那么就弹出‘今年2月有29天’如果不是的话就弹出’今年2月有28天’,这也就是调用了一个已经封装好的函数啦!​

53630

如果你要学JS——我正走在JS的路上(四)

声明变量的特殊情况 js-变量 为什么需要变量? ●因为我们一些数据需要保存,所以需要变量 变量是什么? ●变量就是一个容器,用来存放数据的。方便我们以后使用里面的数据 变量的本质是什么?...注:js的变量数据类型是只有程序在运行过程中,根据等号右边的值来确定的 /*js的变量数据类型是只有程序在运行过程中,根据等号右边的值来确定的*/ var name;/...var str = '山鱼'//当前的数据类型是字符串 //js是动态语言变量的数据类型是可以变化的 var one = 1;//one是数字类型。...console.log('山鱼'-100);//非数字NaN ①Infinity , 代表无穷大,大于任何数值 ②-Infinity ,代表无穷小,小于任何数值 ③NaN,Not...isNaN()这个方法用来判断非数字并且返回一 个值如果是数字返回的是false 如果不是数字返回的是true 原 创 不 易 , 还 望 支 持✨ 点赞:您的赞赏是我前进的动力!

46700

如果你要学JS——我正走在JS的路上(二)

console.log(flag+1);//true 参与加法运算当1来看 console.log(flag1+1);//false 参与加法运算当0来看 //undefined //如果一个变量声明未赋值就是...var shanyu; console.log(shanyu+'1');//和字符串相加结果是undefined1 console.log(shanyu+1);//和数字相加结果是NaN.../ null空值 var space = null; console.log(shanyu+'1');//undefined1 console.log(shanyu+1);//NaN...//利用+拼接字符串的方法实现转换效果隐士转换 console.log(num+''); 在这张图片里我们能看到三种转换方式都成功的将10转换成为字符串了 注:如果不是字符串的话在控制台上显示的颜色不是灰色的...这里将这四种方式的使用方法罗列了一下,可以自己试着进行相应的操作 注:parselnt和parseFloat单词的大小写 注:隐式转换是我们在进行算数运算的时候, JS自动转换了数据类型 (5)加法计算器案例

30000

如果你要学JS——我正走在JS的路上(一)

首先:你好,很高兴你可以看到我的文章,你可以叫我像素人,希望本篇文章可以给你带来帮助 今天我们首先简单来了解一下JS!...1.浏览器执行js的简介 浏览器分为js引擎和渲染引擎 1.渲染引擎用来解析HTML与CSS ,俗称内核,比如chrome浏览器的blink ,老版本的webkit 2.JS引擎:也称为JS...用来读取网页中的JavaScript代码,对其处理后运行,比如chrome 浏览器的V8 注:释 2.js的组成 语法基础:ECMAScript API:DOM和BOM 1.ECMAScript...注:ECMAScript : ECMAScript规定了JS的编程语法和基础核心知识,是所有浏览器厂商共同遵守的一套JS语法工业标准。 2....今天的文章就到这里了,希望这篇文章对你有用,如果都看到这里啦,那可不可 ** 以动动发财的小手点一个大大的赞嘞 原 创 不 易 , 还 望 支 持✨ 点赞:您的赞赏是我前进的动力!

49190

如果你要学JS——我正走在JS的路上(三)

if(age>=18){ alert('你可以进入网吧') } else{ alert('不可以进入网吧') } // 2.执行思路 如果...if里面的条件表达式结果为true 则执行大括号里面的执行语句 //如果if条件表达式结果为假则不执行大括号里面的语句则执行if语句后面的代码 (3)经典案例(...//执行思路 //如果条件表达式1满足就执行语句1执行完毕后,退出整个if分支语句 //如果条件表达式1不满足,则判断条件表达式2 满足的话,执行语句2以此类推 //如果上面的所有条件表达式都不成立,则执行...表达式1 :表达式2 // 4.执行思路 //如果条件表达式结果为真则返回表达式1的值如果条件表达式结果为假则返回表达式2的值 var num = 10;

29600
领券