null、undefined的 区别,== 、===的区别

时间:2022-08-29 21:23:33

1.

Object中null和undefined的区别?(常见前端面试题)

(1)数据类型层面:undefined是一个undefined数据类型,null是object数据类型

(2)内存分配层面:①如果一个变量没有赋值操作就是undefined  (var str;),所有变量在内存 分配的时候其默认值 都是undefined,而不是null. ②null:代表的是对象的默认值,可以清空对象,以后想要清空对象,则就是给它赋值为null .(注意:清空对象直接赋值为null,而不是用delete)

(3)运算层面:① var  n = 1 + undefined;

alert(n);    //NaN

       ②var  nn = 1+ nll ;

alert(nn);  //1  -->此时null相当于0

注意:js数据类型有如下几种:

①string字符串类型,

②number数字类型

③object对象(array数组、   null空[不具有任何对象的特性]、  data日期 、Regex正则)

④undefined 空对象

⑥布尔类型(true/false)

⑦funtion---->function、undefined都是一个数据类型,不是对象 

2.

infinity和NaN的区别?

NaN是代表是一个非正常四则运算而得出来的结果数字的代替

infinity它是正常计算过程中,一个数字除不尽的时候就得到无穷数,或者是计算结果超出数字的最大值也得到infinity。

注意:NaN不等于任何值,NaN === NaN   //false

false == 'false'    //false

false == undefined   //false

false == null    //false

null == undefined    //true

0 ==  ' '   //true

0 ===  ' ' ;    //false

3.

 “==”和“===”的区别?

var str = “0”   //string

var num = 0;  //number

console.log(str==num);    //true

console.log(str===num);    //false  比较了字面值,同时比较了数据类型