资讯专栏INFORMATION COLUMN

浅谈 null & undefined

lewif / 2218人阅读

摘要:初识在中有两种特别的基本数据类型初学者对其也很模糊或者直接认为它俩相等。作为函数参数,表示该函数的参数不是对象对象原型链的终点。对象属性没有赋值,该属性为当函数没有返回值时,默认返回第一次分享文章,如有错误请斧正

1.初识 null & undefined
在javascript 中有两种特别的基本数据类型 null undefined 初学者 对其也很模糊或者直接认为它俩相等。

确实在判断 是否为真值时null 和undefined 也就是if语句中 它俩都是为 false, 甚至有

 console.log( null == undefined )      // true
2. 深入理解 undefined & null

在js中我们经常用一个 typeof来检测一个变量的类型, 而且返回的是一个字符串类型。看下面的例子

console.log( null === undefined )  // true?  X

答案是否定的. 我们试着用 typeof 打印一下 null 和undefined

console.log( typeof null)                  // object
console.log( typeof null === "object")      // true
console.log( typeof undefined )              // undefined
console.log( typeof undefined === "undefined" )   // true undefined

我们发现 null 打印的是 object对象 而 undefined 打印的是undefined. (对于null 打印出object 有兴趣的可以去看看《你不知道的javaScript》中卷 第一章)

3. 用法
null: 表示 "没有对象", 也就是不应该有值。

作为函数参数, 表示该函数的参数不是对象

对象原型链的终点。 也是null .对原型链不熟悉的同学可以看看.

console.log(Object.prototype.__proto__ === null) // true
undefined: 表示 没有值 缺少值 就是此处应该有个值但是没有定义

变量被申明了但是没有被赋值

    var a ;
    console.log( a )   // undefined
    a = 2;
    console.log( a )   // 2

函数调用时,该提供的参数没有提供。

  function f(a) {
console.log( a );           // undefined
}
f();

对象属性没有赋值, 该属性为undefined

var obj = new Person();
console.log(obj.age);      // undefined 

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

var f = fn();
console.log( f );   // undefined

第一次分享文章,如有错误请斧正

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/97972.html

相关文章

  • 浅谈逻辑运算符&&(与)和 ||(或)

    我有一群奇形怪状的小伙伴,总会问我一些奇形怪状的问题。 昨天有一个叫周三胖(因崇拜某国领导人以及结合其个人特点所以姓周,号三胖⊙﹏⊙)的朋友,向我发了这么一张图片:showImg(https://segmentfault.com/img/bVPFiz?w=1148&h=96); 兄弟,上面那几句什么意思? 呔!三胖休得坑贫道。老衲不会! 大哥,我是真不会,求讲解? %#@!#¥& ..... 经过...

    xiyang 评论0 收藏0
  • 浅谈逻辑运算符&&(与)和 ||(或)

    我有一群奇形怪状的小伙伴,总会问我一些奇形怪状的问题。 昨天有一个叫周三胖(因崇拜某国领导人以及结合其个人特点所以姓周,号三胖⊙﹏⊙)的朋友,向我发了这么一张图片:showImg(https://segmentfault.com/img/bVPFiz?w=1148&h=96); 兄弟,上面那几句什么意思? 呔!三胖休得坑贫道。老衲不会! 大哥,我是真不会,求讲解? %#@!#¥& ..... 经过...

    RdouTyping 评论0 收藏0
  • 浅谈逻辑运算符&&(与)和 ||(或)

    我有一群奇形怪状的小伙伴,总会问我一些奇形怪状的问题。 昨天有一个叫周三胖(因崇拜某国领导人以及结合其个人特点所以姓周,号三胖⊙﹏⊙)的朋友,向我发了这么一张图片:showImg(https://segmentfault.com/img/bVPFiz?w=1148&h=96); 兄弟,上面那几句什么意思? 呔!三胖休得坑贫道。老衲不会! 大哥,我是真不会,求讲解? %#@!#¥& ..... 经过...

    cnTomato 评论0 收藏0
  • 浅谈reacthooks闭包陷阱

      本文不会过多讲解基础知识,更多说的是在使用useRef如何能摆脱 这个 闭包陷阱 ?  react hooks 的闭包陷阱 基本每个开发员都有遇见,这是很令人抓狂的。  (以下react示范demo,均为react 16.8.3 版本)  列一个具体的场景:  functionApp(){   const[count,setCount]=useState(1);   useEffect(()=...

    3403771864 评论0 收藏0
  • 浅谈JS中的数据类型转换

    摘要:关于中的各种数据类型的简单转换。转换为布尔值全局方法方法注意要区分空字符串和有空格的字符串。如果预期某个位置应该是布尔值,会将该位置上现有的值自动转为布尔值。常规转换取反两次,对应的布尔值不变。 关于JavaScript中的各种数据类型的简单转换。 转换为字符串 toString 可以用toString这个API将其他数据类型转换为字符串,其中也有一些特例。 var a = 1; a....

    CarlBenjamin 评论0 收藏0

发表评论

0条评论

lewif

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<