js 中 undefined 和null 的区别

null 表示没有对象,也就是说此处不该有值,用法是

1)作为函数的参数,表示他不是对象

2)作为对象原型链的终点(函数的原型对象constructor默认指向函数本身,原型对象除了有原型属性外,为了实现继承,还有一个原型链指针proto,该指针指向上一层的原型对象,而上一层的原型对象的结构依然类似,这样利用proto一直指向Object的原型对象上,而Object的原型对象用Object.proto = null表示原型链的最顶端,如此变形成了javascript的原型链继承,同时也解释了为什么所有的javascript对象都具有Object的基本方法。)

undefined表示缺少值,就是此处应该有个值,但是没有定义,用法:

1)变量被声明,但是没有赋值

2)调用函数,没有提供应该提供的参数

3)对象没有赋值的属性,此属性为undefined

4)函数没有返回值,默认返回undefined

时间: 2024-10-07 16:03:37

js 中 undefined 和null 的区别的相关文章

JS中undefined与null的区别

1.概述: 在JavaScript中存在这样两种原始类型:Null与Undefined.这两种类型常常会使JavaScript的开发人员产生疑惑,在什么时候是Null,什么时候又是Undefined? 有人说这两个返回值,没有什么区别,只是历史遗留问题罢了,其实还是有一点区别的. 2.null和undefined的发展史: 大多数计算机语言,有且仅有一个表示"无"的值,比如,C语言的NULL,Java语言的null,Python语言的None,Ruby语言的nil. 有点奇怪的是,Ja

JS中undefined与null的区别,附带产生undefined的历史

大多数计算机语言,有且仅有一个表示"无"的值,比如,C语言的NULL,Java语言的null,Python语言的None,Ruby语言的nil. 有点奇怪的是,JavaScript语言居然有两个表示"无"的值:undefined和null.这是为什么? 一.相似性 在JavaScript中,将一个变量赋值为undefined或null,老实说,几乎没区别. var a = undefined; var a = null; 上面代码中,a变量分别被赋值为undefin

js中undefined和null的区别

undefined:表示定义未赋值 一般会出现在定义的变量但是未赋值的变量中例如 var a; console.log(a);//undefined console.log(c);//undefined null;表示定义了并赋值为null值 var a=null; console.log(a); 主要null使用在 1.声明一个变量为标明后面有赋值为对象 2.结束前,将对象设置为空,释放指向对象,将该对象设置为垃圾对象,便于回收 var obj=null; //do something obj

js中 undefined 与 null的区别

null是一个空对象类型 当用document获取元素时,获取不到的时候返回的就是null, 当获取一个不存在的属性时返回的是undefined, 当用var声明一个变量并没有给变量赋值的时候,此时会自动给变量赋一个undefined, 真的没定义一个变量的时候也是undefined typeof undefined 也是undefined 直接赋值undefined的时候

javascript中undefined和null的区别详解

一.问题的由来 永远不要直接使用undefined进行变量判断使用字符串"undefined"对变量进行判断 这里,undefined是原始值,在JS中undefined出现只有两种情况,一种是变量未定义.一种是定义了变量,但是没有赋值. 如果这个地方person未定义,那么利用person===undefined全等判断就会报错,person未定义但是如果使用typeof来判断,那么就不会报错了. ep: alert(person == undefined);//报错 person

JS中undefined、null以及NaN之间的区别,以及对象属性赋值的面试题

(1)以下三种情况typeof 返回类型为undefined --当变量未初始化时 --变量未定义时 --函数无明确返回值时(函数没有返回值时返回的都是undefined) (2)Null 类型 undefined 是由null派生处理的,因此undefined == null undefined 是声明了但是没有初始化的该变量, null表示尚未存在的对象 . (3)NaN 值 是一个特殊值,表示非数(Not a Number),类型转换失败就会返回NaN --NaN 不等于自己,即 NaN

JavaScript中undefined与null的区别

通常情况下, 当我们试图访问某个不存在的或者没有赋值的变量时,就会得到一个undefined值.Javascript会自动将声明是没有进行初始化的变量设为undifined. 如果一个变量根本不存在会发生什么事: >>> fooReferenceError: foo is not defined 我们得到了一个错误信息.我们在该变量上用typeof操作符看看它是什么类型: >>> typeof foo"undefined" 我们得到的结果为字符串“u

JavaScript中undefined和null的区别

JavaScript中undefined和nullundefined:表示没有数值,在使用var 声明变量但未对其加以初始化时,这个变量的值就是undefined null:表示有数值,但是数值为“空”. 1. 两者的声明 声明但未定义:undefined; 1 var a; 2 console.log(a); // 执行结果:undefined 声明且定义为null; 1 var b = null; 2 console.log(b); //执行结果:null 2. typeof类型不同 und

JavaScript中Undefined 和 Null的区别

Undefined 这个值表示变量不含有值. 可以通过将变量的值设置为 null 来清空变量. 例如: <script> var person; var car="Volvo"; document.write(person + "<br />"); document.write(car + "<br />"); var car=null document.write(car + "<br /&g