博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JS中null与undefined的区别
阅读量:4317 次
发布时间:2019-06-06

本文共 584 字,大约阅读时间需要 1 分钟。

 

1. 相同点

  if 判断语句中,两者都会被转换为false

 

2. 不同点

  • Number转换的值不同,Number(null)输出为0, Number(undefined)输出为NaN

  • null表示一个值被定义了,但是这个值是空值
    • 作为函数的参数,表示函数的参数不是对象

    • 作为对象原型链的终点 (Object.getPrototypeOf(Object.prototype))

    • 定义一个值为null是合理的,但定义为undefined不合理(var name = null)      
  • undefined表示缺少值,即此处应该有值,但是还没有定义
    • 变量被声明了还没有赋值,就为undefined

    • 调用函数时应该提供的参数还没有提供,该参数就等于undefined

    • 对象没有赋值的属性,该属性的值就等于undefined

    • 函数没有返回值,默认返回undefined

  • 示例     

var i;i // undefinedfunction f(x){console.log(x)}f() // undefinedvar  o = new Object();o.p // undefinedvar x = f();x // undefined

详情参考:

     

 
 
 
 

转载于:https://www.cnblogs.com/iOS-mt/p/11088449.html

你可能感兴趣的文章
解决win7下打开Excel2007,报“向程序发送命令时出现问题”的错误
查看>>
Velocity快速入门教程
查看>>
Google的小秘密
查看>>
(转)什么是JSON+如何处理JSON字符串
查看>>
(译)理解python线程
查看>>
【总结】动态树
查看>>
【vuejs深入二】vue源码解析之一,基础源码结构和htmlParse解析器
查看>>
编程中的24条经典语录
查看>>
Android ADT中增大AVD内存后无法启动:emulator failed to allocate memory 8 (转)
查看>>
chrome 低版本的background-attachment: fixed问题
查看>>
C++编程思想1
查看>>
如何避免 await/async 地狱
查看>>
POJ 2488 A Knight's Journey-dfs
查看>>
MyBatis 插入时返回刚插入记录的主键值
查看>>
Python基本语法
查看>>
图像处理------颜色梯度变化 (Color Gradient) 分类: ...
查看>>
Hadoop_我理解的Map-Reduce
查看>>
HDU1242 Rescue(BFS+优先队列)
查看>>
mysql入门-数据类型(一)
查看>>
FTP服务的搭建
查看>>