null的undefined的区别

根据老师上课讲的以及网上大佬们的解释整理了一下

Null:

null是js中的关键字,表示空值,null可以看作是object的一个特殊的值,如果一个object值为空,表示这个对象不是有效对象。

Undefined:

以下情况会返回undefined:

1.使用了一个未定义的变量;var i;

2.使用了已定义但未声明的变量;

3.使用了一个对象属性,但该属性不存在或者未赋值;

4.调用函数时,该提供的参数没有提供:

          function func(a){

                 console.log(a);

扫描二维码关注公众号,回复: 7166330 查看本文章

         }

         func();//undefined

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

         var a=func();

         a;//undefined

两者的区别:

1.类型不一样:

     console.log(typeOf undefined); //undefined
     console.log(typeOf null ); //object

2.转化为值时不一样:undefined为NaN ,null为0

    console.log(Number(undefined)); //NaN
    console.log(Number(10+undefined)); //NaN
 
    console.log(Number( null )); //0
    console.log(Number(10+ null )); //10

 3.undefined===null;//false

    undefined==null;//true

Null:

null是js中的关键字,表示空值,null可以看作是object的一个特殊的值,如果一个object值为空,表示这个对象不是有效对象。

Undefined:

以下情况会返回undefined:

1.使用了一个未定义的变量;var i;

2.使用了已定义但未声明的变量;

3.使用了一个对象属性,但该属性不存在或者未赋值;

4.调用函数时,该提供的参数没有提供:

          function func(a){

                 console.log(a);

         }

         func();//undefined

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

         var a=func();

         a;//undefined

两者的区别:

1.类型不一样:

     console.log(typeOf undefined); //undefined
     console.log(typeOf null ); //object

2.转化为值时不一样:undefined为NaN ,null为0

    console.log(Number(undefined)); //NaN
    console.log(Number(10+undefined)); //NaN
 
    console.log(Number( null )); //0
    console.log(Number(10+ null )); //10

 3.undefined===null;//false

    undefined==null;//true

猜你喜欢

转载自www.cnblogs.com/mmit/p/11455065.html