对 Undefined 与 Null 的一些理解】的更多相关文章

Undefined 和 Null 是 Javascript 中两种特殊的原始数据类型(Primary Type),它们都只有一个值,分别对应 undefined 和 null ,这两种不同类型的值,既有着不同的语义和场景,又表现出较为相似的行为: undefined undefined 的字面意思就是:未定义的值 .这个值的语义是,希望表示一个变量最原始的状态,而非人为操作的结果 . 这种原始状态会在以下 4 种场景中出现: [1]声明了一个变量,但没有赋值 var foo; console.l…
之前虽然也知道这两个之间的区别,但是让我描述的话,感觉上还是说的不是很清楚.今天也详细看了一次这个知识点,现在来说说这两者间的区别. null: Null类型,代表“空值”,代表一个空对象指针,使用typeof运算得到 “object”,所以你可以认为它是一个特殊的对象值. undefined: Undefined类型,当一个声明了一个变量未初始化时,得到的就是undefined. null是javascript的关键字,可以认为是对象类型,它是一个空对象指针,和其它语言一样都是代表“空值”,不…
来自普遍的回答: 其实在 ECMAScript 的原始类型中,是有Undefined 和 Null 类型的. 这两种类型都分别对应了属于自己的唯一专用值,即undefined 和 null. 值 undefined 实际上是从值 null 派生来的,因此 ECMAScript 把它们定义为相等的,通过下列代码可以验证这一结论: alert(undefined == null); //true 尽管这两个值相等,但它们的含义不同. undefined 是声明了变量但未对其初始化时赋予该变量的值,n…
前言: undefined表示 "未定义", null 表示 "空" 第一步: 一般在变量或属性没有声明或者声明以后没有赋值时, 这个变量的值就是undefined; typeof a; // "undefined"; var b; typeof(b); // "undefined"; var c = {}; typeof(c.name); // "undefined"; 第二步: null是检测变量指向的…
当讨论JavaScript中的原始数据类型时,大多数人都知道从String.Number到Boolean的基本知识.这些原始类型相当简单,行为符合常识.但是,本文将更多关注独特的原始数据类型Null和Undefined,是什么让它们如此相似,却又似是而非. 一.理解null和undefined 在JavaScript中,null是字面量同时也是语言中的关键字,用来表示无法识别的对象值.换句话说,这用来表示"无值(no value)",但你可以决定什么时候得到期望值. 虽然相似,unde…
原文链接(点击跳转) 第一:not defined 演示代码:   <span style="font-size:12px;"><span style="font-family:Microsoft YaHei;"><script type="text/javascript">   alert(a);   </script></span></span> 执行结果:报错并提示:U…
在JavaScript中存在这样两种原始类型:Null与Undefined.这两种类型常常会使JavaScript的开发人员产生疑惑,在什么时候是Null,什么时候又是Undefined? Undefined类型只有一个值,即undefined.当声明的变量还未被初始化时,变量的默认值为undefined.Null类型也只有一个值,即null.null用来表示尚未存在的对象,常用来表示函数企图返回一个不存在的对象. js 代码 var oValue; alert(oValue == undefi…
typeof 是运算符,注意不是函数,是运算符,其作用,是考察变量究竟是什么类型.或曰,是变量是否定义或是否初始化的照妖镜.返回值是字符串. undefined 表示一个对象没有被定义或者没有被初始化. null 表示一个尚未存在的对象的占位符. 测试一,变量没有定义的时候,只能使用 typeof <input type="button" id="btnTest" onclick="Test()" value="测试"…
班吃饭的时候,同事偶然问了一个问题:undefined和null究竟有什么差别?无法回答,回去查阅相关文档,算了有了一个了解,做相关的总结.在開始之前,请看例如以下代码,算是抛出这个问题: console.info(undefined == null); //true console.info(undefined === null); //false 上述结果能够给我们一个这种理解: undefined和null两个值相等,可是他们含义不同.详细两者有什么差别,先理解下undefined和nul…
通常情况下, 当我们试图访问某个不存在的或者没有赋值的变量时,就会得到一个undefined值.Javascript会自动将声明是没有进行初始化的变量设为undifined. 如果一个变量根本不存在会发生什么事: >>> foo ReferenceError: foo is not defined 我们得到了一个错误信息.我们在该变量上用typeof操作符看看它是什么类型: >>> typeof foo "undefined" 我们得到的结果为字符串…
var total=0; var data=new Array(5);//定义了data数组,length为5,但是都是元素都是undefined. for(i=0;i<data.length;i++){ if(!data[i]) { total=total+1; continue;} total +=data[i]; } alert(total); !data[i]为true,data[i]===undefined也是true.typeof(data[i])=='undefined'也是tru…
× 目录 [1]原因 [2]undefined [3]null 前面的话 一般的程序语言,表示空的只有null,但javascript的设计者Brendan Eich却设计了一个undefined,这无疑增加了程序复杂度,但这样做也是有一定原因的.本文将详细介绍javascript中的undefined和null 历史原因 1995年JavaScript诞生时,最初像Java一样,只设置了null作为表示”无”的值.根据C语言的传统,null被设计成可以自动转为0 但是,JavaScript的设…
错误信息 TypeError: Unable to get property ‘replace’ of undefined or null referenceTypeError: Unable to get property ‘replace’ of undefined or null reference TypeError: Unable to get property ‘replace’ of undefined or null referenceTypeError: Unable to g…
JS 中如何判断 undefined JavaScript 中有两个特殊数据类型:undefined 和 null,下节介绍了 null 的判断,下面谈谈 undefined 的判断. 以下是不正确的用法: var exp = undefined;if (exp == undefined){    alert("undefined");} exp 为 null 时,也会得到与 undefined 相同的结果,虽然 null 和 undefined 不一样.注意:要同时判断 undefi…
JavaScript 中有两个特数值: undefined和null,在比较它们的时候需要留心.在读取未赋值的变量或试图读取对象没有的属性时得到的就是 undefined 值. <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Learn4UndefinedAndNull</title> </head…
最近在默默的看面试题,其中有一个题目就是“undefined和null的区别”,突然意识到自己从未关注过这个问题,心中莫名有种急躁的感觉,百度一下发现阮大神的一篇文章(http://www.ruanyifeng.com/blog/2014/03/undefined-vs-null.html)正是在解决这个问题,所以借来涨知识了. 大多数计算机语言,有且仅有一个表示"无"的值,比如,C语言的NULL,Java语言的null,Python语言的None,Ruby语言的nil.有点奇怪的是,…
在Javascript中有这两种原始类型: Undefined与Null.而这两种原始类型都各自只有一个值,分别是undefined,null. undefined: 1.变量声明后未赋值,则变量会被自动赋值为undefined; 2.函数中定义了一些形参,如果传入的实参小于预定义的形参,那么有一些形参就会匹配不到实参,继而会被自动赋值为undefined; 3.没有返回值的函数,默认返回undefined. null: 空值.用来表示尚未存在的对象. undefined与null异同: 同:…
通常情况下, 当我们试图访问某个不存在的或者没有赋值的变量时,就会得到一个undefined值.Javascript会自动将声明是没有进行初始化的变量设为undifined. 如果一个变量根本不存在会发生什么事: >>> foo ReferenceError: foo is not defined 我们得到了一个错误信息.我们在该变量上用typeof操作符看看它是什么类型: >>> typeof foo "undefined" 我们得到的结果为字符串…
Javascript的基本数据类型中有undefined和null两种只有一个值得特殊数据类型.其中undefined表示未被初始化,不是为声明.而null表示一个空对象指针,而这也是使用typeof检测null返回"object"的原因. undefined表达的是通过var声明了变量,但没有显示的赋值(由此可以推论,Javascript的变量默认值为undefined).然而对声明未赋值的变量和未被声明的变量执行typeof操作返回值均是"undefined".…
没有实体的对象称为空对象.只用对象的引用,而不存在引用的实体对象 就叫做空对象 在常见的强类型语言中,通常有一个表示"空"的值,比如NULL.但是在Javascript中,空(或者叫"无值")有两种选择:undefined和null. 在Javascript中除了这两个值其他都是对象.其他的基本类型都有其对象的包装类型.但是,typeof null返回的是object,这是一个一直未修复的bug. 相似之处 都是完全不可变的,没有属性和方法,也不能给其属性赋值.事实…
在javascript中,undefined和Null是两个比较特殊的值.但有时候在判断时就有点迷糊.依个人浅见,整理如下: 1.数据类型 众多周知,在javascript中存在五种基本类型,即undefined,null,boolean,number以及array. 因此可以认为undefined和null为两种数据基本类型.但区别在于,undefined为不能确定类型的变量值,而null为一个空对象指针. 2.== 与 === 由于javascript在判断两个数据==时,会进行类型转换的问…
1.判断undefined: <span style="font-size: small;">var tmp = undefined; if (typeof(tmp) == "undefined"){ alert("undefined"); }</span>  说明:typeof 返回的是字符串,有六种可能:"number"."string"."boolean".…
1.概述: 在JavaScript中存在这样两种原始类型:Null与Undefined.这两种类型常常会使JavaScript的开发人员产生疑惑,在什么时候是Null,什么时候又是Undefined? 有人说这两个返回值,没有什么区别,只是历史遗留问题罢了,其实还是有一点区别的. 2.null和undefined的发展史: 大多数计算机语言,有且仅有一个表示"无"的值,比如,C语言的NULL,Java语言的null,Python语言的None,Ruby语言的nil. 有点奇怪的是,Ja…
在javascript中undefined和null几乎是没有区别的 undefined==null;//true;   区别:   null是一个表示“无”的对象,转为数值为0:或者说没有对象,此处不应该有值: 表示:(1)作为函数的参数,表示该函数的参数不是对象.           (2)作为对象原型链的终点.   eg: Object.getPrototypeOf(Object.prototype) // null undefined是一个表示“无”的原始值,转为数值为NaN,就是说此处…
undefined是指一个变量没有被声明,或者被声明了但是还没有被赋值 null是一个特定值(an assignment value ),代表"没有值"(no value) JavaScript会将没有被赋值的变量默认设为undefined JavaScript绝对不自动将一个变量设置为null值,也就是说null都是程序员手动设置用来说明一个变量没有值的 undefined的类型(typeof)是undefined null的类型(typeof)是object 两个都是基本数据类型…
undefined 声明的变量尚未初始化 null 对象尚未存在 eg: var a; console.log(typeof a); 输出undefined var b= document.getElementById("b"); console.log(typeof b); console.log(null== b); 第一行输出object! 这其实是javascript最早的一个错误,但被沿袭了下来... 第二行输出true,因为document.getElementById(&…
▓▓▓▓▓▓ 大致介绍 ECMAScript中有5中简单的数据类型(也称为基本数据类型):Undefined.Null.Boolean.Number.String. ▓▓▓▓▓▓ Undefined Undefined时全局变量的一个属性,它只有一个值即:undefined.当使用var声明变量但未对其初始化时,这个变量的值就是undefined. var test; console.log(test); //undefined 对于未声明过的变量只能进行一种操作,即typeof检测其数据类型…
今天学习中遇到了一个有意思的问题. var obj = undefined 我们将一个对象设置为undefined typeof(obj)>>undefined 结果是undefined,可是这个时候我灵光一现,想起null这个对象了 typeof(null) >>object 结果是object! 本小姐手一抖,进行了二者等值比较,更奇怪的事情出现! obj == undefined >> true obj == null >> true obj ===…
相对于java的类型系统,scala无疑要复杂的多!也正是这复杂多变的类型系统才让OOP和FP完美的融合在了一起! Nothing: 如果直接在scala-library中搜索Nothing的话是找不到了,只能发现一个Nothing$的类(后面再说Nothing$和Nothing的关系).要想看到Nothing.scala的源码需要去github上的scala源码中查找Nothing源码 可以看到在Nothing.scala中只是定义了一个sealed trait: package scala…
Undefined ①在声明变量时,如果没有给变量赋值,则这个变量就是undefined类型: ②访问未声明的变量会报错误消息,但这样的变量使用 typeof 测试,返回的值为Undefined. 即未声明变量和未赋值变量的类型为Undefined类型 Null 空值,只有一个值就是null,任何变量只要给其赋值为null的话,这个变量的数据类型就是Null类型 值得注意的是:typeof null 的返回值为 object. 两者区别: null已定义,并初始化为null:undefined未…