我想知道JavaScript中null和undefined之间的区别。


当前回答

基本上,Undefined是javascript在运行时创建的一个全局变量,无论null是否意味着没有给变量赋值(实际上null本身就是一个对象)。

让我们举个例子:

        var x;  //we declared a variable x, but no value has been assigned to it.
        document.write(x) //let's print the variable x

未定义,这是您将获得的输出。

现在

        x=5;
        y=null;
        z=x+y;

你将得到5作为输出。这是Undefined和null之间的主要区别

其他回答

undefined和null之间的差别很小,但有区别。值未定义的变量从未初始化。值为null的变量被显式指定为null,这意味着该变量被显地设置为没有值。如果使用null==undefined表达式比较undefineed和null,它们将相等。

null和undefined都用于表示缺少某个值。

var a = null;

a被初始化和定义。

typeof(a)
//object

null是JavaScript中的对象

Object.prototype.toString.call(a) // [object Object]

var b;

b未定义且未初始化

未定义的对象财产也是未定义的。例如,“x”未在对象c上定义,如果您尝试访问c.x,它将返回undefined。

通常,我们为未定义的变量赋值null。

除了不同的含义外,还有其他区别:

对象析构函数对这两个值的作用不同:常量{a=“默认”}={a:未定义};//a是“默认值”常量{b=“默认”}={b:null};//b为空JSON.stringify()保持null,但省略未定义const json=json.stringify({undefinedValue:undefined,nullValue:null});console.log(json);//打印{“nullValue”:null}运算符类型console.log(类型未定义);//“未定义”console.log(类型为空);//“object”而不是“null”

基本上,Undefined是javascript在运行时创建的一个全局变量,无论null是否意味着没有给变量赋值(实际上null本身就是一个对象)。

让我们举个例子:

        var x;  //we declared a variable x, but no value has been assigned to it.
        document.write(x) //let's print the variable x

未定义,这是您将获得的输出。

现在

        x=5;
        y=null;
        z=x+y;

你将得到5作为输出。这是Undefined和null之间的主要区别

如果变量未初始化,则该变量未定义。undefined不是对象。示例:var MyName;console.log(类型MyName);

检查控制台登录开发工具,它将被打印为未定义。

null是一个对象。如果您希望某个变量为null,则使用null。null变量存在,但值未知。它应该按语法方式分配给变量。null不会自动初始化。

示例:var MyName=null;console.log(类型MyName);检查csole登录开发工具,它将是一个对象。