浅谈 null undefined

news/2025/2/12 18:13:56

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: 表示 "没有对象", 也就是不应该有值。
  1. 作为函数参数, 表示该函数的参数不是对象
  2. 对象原型链的终点。 也是null .对原型链不熟悉的同学可以看看.
console.log(Object.prototype.__proto__ === null) // true
undefined: 表示 没有值 缺少值 就是此处应该有个值但是没有定义
  1. 变量被申明了但是没有被赋值

        var a ;console.log( a )   // undefineda = 2;console.log( a )   // 2
  2. 函数调用时,该提供的参数没有提供。

      function f(a) {
    console.log( a );           // undefined
    }
    f();
  3. 对象属性没有赋值, 该属性为undefined

    var obj = new Person();
    console.log(obj.age);      // undefined 
  4. 当函数没有返回值时,默认返回undefined

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

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

    (完)


https://dhexx.cn/news/show-1633153.html

相关文章

这批人跳槽首选裸辞,佛系求职

掐指一算,第一批90后大学毕业,正式踏入社会工作也已经超过5年了。他们渐渐融入了平常的职场生活,甚至成为某些公司的新生主力军。但在不同年代里成长起来的人们,在职场上也会催生各自不同的特征及诉求,那90后这一代转变…

【BZOJ3572】【HNOI2014】—世界树(虚树+倍增+dp)

传送门 考虑将虚树建出来 我们先对于每个虚树的点点求出被哪个地方支配 然后考虑对每一条边考虑 如果两边点被同一点支配就不用管了 否则考虑倍增找到中点 分别计算一下贡献 可以处理一个remremrem表示子树中除去已经被计算过的剩下的sizsizsiz 也就可以方便统计那些没有关键点…

比 Redis 还快 5 倍的中间件,为啥这么快?

点击上方“Java基基”,选择“设为星标”做积极的人,而不是积极废人!源码精品专栏 原创 | Java 2020 超神之路,很肝~中文详细注释的开源项目RPC 框架 Dubbo 源码解析网络应用框架 Netty 源码解析消息中间件 RocketMQ 源码解析数据库…

移动端布局 rem

移动端布局 rem rem定义 1、rem相对于 html元素 字体大小来说的 2、rem的有点就是可以通过修改html里面的文字大小来改变页面中元素的大小 可以整体控制 2、在实际开发中要适应不同的移动端屏幕,所以html的font-size不能写死,可以使用媒体查询来解决这…

苹果ATS(强制HTTPS)审核新政解码

0. News [Updated in 2016.12.22],苹果ATS大限时间推迟,参照Apple News and Updates - Supporting App Transport Security,具体实行时间可继续关注News and Updates。 [Updated in 2016.12.09],苹果官网文档2016年11月14日更新&a…

VMware Workstation Pro v15.0.0官方正版

vmware15是目前最好用的虚拟机工具了,有很多好用的用途,特别是可以在windows系统上安装好VMware Workstation Pro 15.0后,就可以在虚拟机上安装给苹果mac系统和liunx系统,Workstation Pro 支持数百种操作系统,可与云环…

性能测试指标的获取

一个好的性能测试必须要有明确而且全面的性能测试指标,而性能指标的获取常常困扰测试人员,这里简单说一下我在工作中所用到的方法:  1. 有明确的性能测试需求文档  这是测试人员希望看到的,产品经理通过需求的获取&#xff08…

安全度过试用期的四大“防身术”,了解防吃亏!

试用期总让人有些不安全感:到底什么时候才能转正?公司延长试用期怎么办?公司能随意辞退试用期员工吗?试用期期间能请假吗?在试用期离职的话,应该提前多长时间向公司正式提出呢?千万不要因为身在…

MySQL ALTER TABLE: ALTER COLUMN vs CHANGE COLUMN vs MODIFY COLUMN

2019独角兽企业重金招聘Python工程师标准>>> ALTER TABLE 允话使用 ALTER COLUMN 、 CHANGE COLUMN 和 MODIFY COLUMN 修改列,这三种操作是不一样的,下面做简单的对比。 ALTER COLUMN:设置或删除列的默认值。该操作会直接修改.frm…

AVKit 播放(AVFoundation, AVKit, 音视频, Swift 4, 配代码)

音视频,简单点,上手就用,当然是 AVKit.更加灵活的控制,就要用到 AVFoundation 了。 要点: 使用资源(一般就是照片库里面的视频,图片,live photo),播放&#x…