JavaScript Undefined,Null类型和NaN值区别_基础知识

一 Undefined 类型
只有一种值 undefined
以下三种情况typeof 返回类型为undefined
1. 当变量未初始化时
2. 变量未定义时
3. 函数无明确返回值时(函数没有返回值时返回的都是undefined)
undefined 并不等同于未定义的值
typeof 并不真正区分是否是未定义
看以下示例代码:
var oTemp;
alert(typeof oTemp); // outputs "undefined"
alert(typeof oTemp2);// outputs "undefined"
alert(oTemp2 == undefined ); // 错误 oTemp2 未定义 不能使用除了typeof之外的不能用来oTemp2其他的运算
当变量
二 Null 类型
只有一个null,undefined 是由null派生处理的,因此undefined == null
undefined 是声明了但是没有初始化的该变量,
null表示尚未存在的对象
三 NaN 值
是一个特殊值,表示非数(Not a Number)
类型转换失败就会返回NaN
e.g. 要把一个单词blue转换为数值就会失败因为没有等价的数值
NaN 不等于自己
即 NaN == NaN 是 false
判断NaN 使用 isNaN();

时间: 2024-10-31 15:33:36

JavaScript Undefined,Null类型和NaN值区别_基础知识的相关文章

详解JavaScript中undefined与null的区别_基础知识

有点奇怪的是,JavaScript语言居然有两个表示"无"的值:undefined和null.这是为什么? 一.相似性在JavaScript中,将一个变量赋值为undefined或null,老实说,几乎没区别. 复制代码 代码如下: var a = undefined;var a = null; 上面代码中,a变量分别被赋值为undefined和null,这两种写法几乎等价.undefined和null在if语句中,都会被自动转为false,相等运算符甚至直接报告两者相等. 复制代码

总结JavaScript三种数据存储方式之间的区别_基础知识

sessionStorage .localStorage 和 cookie 之间的共同点:都是保存在浏览器端,且同源的. sessionStorage .localStorage 和 cookie 之间的区别:cookie数据始终在同源的http请求中携带(即使不需要),即cookie在浏览器和服务器间来回传递.而sessionStorage和localStorage不会自动把数据发给服务器,仅在本地保存.cookie数据还有路径(path)的概念,可以限制cookie只属于某个路径下. 存储大

Javascript核心读书有感之表达式和运算符_基础知识

表达式是javascript中的一个短语,javascript解释器会将其计算出一个结果.程序中常用量是最简单的一类表达式就是变量.变量名也是一种简单的表达式,它的值就是赋值给变量的值. 复杂的表达式是由简单的表达式组成的.比如数组访问表达式是由一个表示数组的表达式,方括号.一个整数表达式构成.它们所组成新的表达式运算结果是该数组特定位置的元素值.同样的函 数调用表达式由一个表示函数对象的表达式和0个多个参数表达式构成.将简单表达式组成复杂表达式最常用的方法就是运算符. 本章(本文)将讲解所有j

在JavaScript并非所有的一切都是对象_基础知识

虽然很多语言宣称:"一切皆是对象",但是 javascript 中,并不是所有的值都是对象. 原始值 vs 对象javascript 中的值可以被划分为两大类:原始值(primitive)和对象(object). 定义javascript 的两种值的定义: 下面的值是原始值. 1.字符串2.数字:在 JavaScript 中所有的数字都是浮点数3.布尔值4.null5.undefined 所有其它的值都是对象(object).对象可以进一步划分: 1.原始值的包装器:Boolean,

JavaScript 学习笔记之操作符(续)_基础知识

一.乘性操作符 1.乘法:*      乘法操作符的一些特殊规则: 如果操作数都是数值,按照常规的乘法计算,如果乘积超过了ECMAscript数值的表示范围,则返回infinity或者-infinity 如果有一个操作数是NaN,那返回结果就是NaN 如果是infinity与0相乘,返回NaN 如果infinity与非0数相乘,返回infinity或者-infinity infinity与infinity相乘,返回infinity 如果有一个操作数不是数值,后台会先调用number()将其转化为

javascript中的3种继承实现方法_基础知识

使用Object.create实现类式继承 下面是官网的一个例子 //Shape - superclass function Shape() { this.x = 0; this.y = 0; } Shape.prototype.move = function(x, y) { this.x += x; this.y += y; console.info("Shape moved."); }; // Rectangle - subclass function Rectangle() {

Javascript中的五种数据类型详解_基础知识

Undefined 未定义.只有一个值undefined Null         只有一个值,null Boolean 在javascript中,只要逻辑表达式不返回undefined不返回null,就都是真的. 复制代码 代码如下: if(3) true if(null) false if(undefined) false Number String javascript中不存在char类型. 字符串定义可以用单引号,也可以用双引号. 复制代码 代码如下: <html> <head&

javascript对浅拷贝和深拷贝的详解_基础知识

下面小编就为大家带来一篇浅谈JavaScript中面向对象的的深拷贝和浅拷贝.小编觉得挺不错的,现在就分享给大家,也给大家做个参考. 1.浅拷贝:复制一份引用,所有引用对象都指向一份数据,并且都可以修改这份数据. 2.深拷贝(复杂):复制变量值,对于非基本类型的变量,则递归至基本类型变量后,再复制. 这里画一个简单的图来加深理解: 一.数组的深浅拷贝 在使用JavaScript对数组进行操作的时候,我们经常需要将数组进行备份,事实证明如果只是简单的将它赋予其他变量,那么我们只要更改其中的任何一个

JavaScript中的acos()方法使用详解_基础知识

 此方法返回的弧度的反余弦值.ACOS方法返回0和PI对于x-1和1之间弧度的数值.如果数的值超出这个范围,则返回NaN.语法 Math.acos( x ) ; 下面是参数的详细信息:     x : 一个数字 返回值: 返回了一些弧度的反余弦值. 例子: <html> <head> <title>JavaScript Math acos() Method</title> </head> <body> <script type=