javascript 红皮高程(7)
时间:2022-04-27
本文章向大家介绍javascript 红皮高程(7),主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
javascript的数值表示,真是。。
这还有个NaN,非数值(Not a Number),就是不是数字。然后已是书里写着,是一个特殊的数值。
这让小学文化的我,怎么理解?一个不是数字的东西,然后它又是一个特殊的数值。
NaN,它用来表示一个本来要返回数值的操作数,但没有返回数值的时候,就返回NaN了。
书上第29页。说是这样就不用报错了。意思就是,如果不返回NaN,你让我返回什么呢,,,
ECMAScript里,任何数值除以非数值,都返回NaN。
书上也提示了,实际上0除0,返回NaN。正数除以0返回Infinity;负数除以0,返回-Infinity。我感觉这些东西,最好就是死记硬背下来。
重点哈,NaN有二个特别:
1,它和谁都不相等,包括它自己;
2,谁和它有任何操作,都返回NaN;
这有啥用?不知道啊,反正死记吧,也许哪个库或框架里会用。
第2条里说谁跟NaN搞,都会返回NaN,可是,
console.log( 10 / NaN ); //NaN
console.log( 10 & NaN ); //0
为啥是0而不是NaN?
说是有个函数,isNaN(),专门判断参数是否“不是数值”。
有点绕,我理解了一下,这个函数会把接收到的参数转换为数值。能转的就返回false,不能转的就是返回true。就这样:
console.log( isNaN(NaN) );//true
NaN,它不是数值;
console.log( isNaN(false) );//false
false,它可以被转成0,所以它是数值。
而且这货还能搞对象,搞对象,搞对象,就这样:
function aaa(){
return "aaa"
}
console.log( isNaN(aaa) );//true
具体的原因说是在3.5节,跟操作符有关,到时再看。
哎呀,真是烦啊,null,undefined,NaN这三者的区别,在面试中好多次遇到。。。
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 缓存 | 从本地缓存到分布式缓存, Guava, Caffeine, Memcached, Redis
- WebView三问—B站真题
- C++核心准则T.140:为所有可能重用的操作命名
- Service三问
- 事件分发机制三问
- C++核心准则T.141:如果你需要只在一个地方使用的简单的函数对象,使用无名的lambda表达式
- 基于DOM的XML文件解析类
- C++核心准则T.143:避免无意中编写非通用代码
- XML文件解析实践(DOM解析)
- golang 多协程的同步方法总结
- C++核心准则T.144:不要特化函数模板
- 三千字带你搞懂XXL-JOB任务调度平台
- Python-科学计算-pandas-14-df按行按列进行转换
- Python实现扫码工具
- C++核心准则T.150:用static_assert检查类和概念的匹配性