美文网首页
null,undefined的区别

null,undefined的区别

作者: 简单tao的简单 | 来源:发表于2023-12-25 09:17 被阅读0次

null

null是一个表示"无"的对象
null 的字面意思是:空值 。这个值的语义是,希望表示 一个对象被人为的重置为空对象,而非一个变量最原始的状态 。 在内存里的表示就是,栈中的变量没有指向堆中的内存对象

用法:
  • 用来初始化一个变量,这个变量可能被赋值为一个对象。
  • 当一个对象被赋值了null 以后,原来的对象在内存中就处于游离状态,GC 会择机回收该对象并释放内存。因此,如果需要释放某个对象,就将变量设置为 null,即表示该对象已经被清空,目前无效状态。
  • 作为对象原型链的终点。
类型转换

typeof null : object
布尔值 false
数字0
字符串‘null’

undefind

undefined表示“缺少值”,即此处应该有一个值,但是还没有定义

用法
  • 变量被声明了,但没有赋值时,就等于undefined。
  • 调用函数时,应该提供的参数没有提供(函数定义了形参,但没有传递实参
    ),该参数等于undefined。
  • 访问对象或数组上不存在的属性,会返回undefined。
  • 函数没有返回值时,默认返回undefined。
类型转换

typeof undefined : undefined
布尔值 false
数字NaN
字符串'undefined'

如何检测它们?

==运算符将两者看作相等。如果要区分两者,要使用===或typeof运算符。

console.log(null == undefined) //true
console.log(null === undefined) //false

检测undefined

var exp = undefined;
if (typeof (exp) == 'undefined') {
    alert("undefined");
}

检测null

var exp = null;
if (!exp && typeof (exp) != "undefined" && exp != 0) {
    alert("is null");
}   

相关文章

  • 02-相关问题

    undefined 与 null 的区别? undefined :代表定义未赋值 null :null 定义并赋值...

  • 你所不知道的 JavaScript

    null 和 undefined 的区别 null和undefined的区别,两者值是相等的unll==undef...

  • TypeScript 基础语法

    1、void 与 undefined和 null 与 void的区别是,undefined 和 null是所有类...

  • JavaScript中null和undefined的区别

    JavaScript 中null和undefined的区别 typeof操作符 在区分null和undefined...

  • js基础知识

    [TOC] null和undefined区别 例子 对于null和undefined,大致可以像下面这样理解。 n...

  • 知识点杂谈

    1.js中null和undefined的区别 在js中null和undefined都表示空,但它们还是存在一定区别...

  • JS杂记

    1、Undefined 与 Null 的区别 Undefined 与 null 的值相等,但类型不相等。在js中,...

  • 【IMWeb秋招训练营】【Day4】面试题总结

    经典面试题 13.null和undefined的区别? undefined判断的是变量的类型,null和NaN判断...

  • 第三章 基本概念

    undefined和null的区别 undefined 是声明后没有赋值的结果,表示没有值 null 是有值,它的...

  • null和undefined

    null和undefined的区别 undefined 是已经申明了。未赋值。 typeof undefine...

网友评论

      本文标题:null,undefined的区别

      本文链接:https://www.haomeiwen.com/subject/psfkndtx.html