js中的undefined 和null
2024-10-05 21:23:45
undefined是基本数据类型 表示未定义 缺少的意思
null是引用数据类型 是对象 表示空对象
undefined是从null派生出来的 所以undefined==null true
JavaScript的最初版本是这样区分的:null是一个表示"无"的对象,转为数值时为0;undefined是一个表示"无"的原始值,转为数值时为NaN。
即 Number(null) 0 Number(undefined) NaN
但是,上面这样的区分,在实践中很快就被证明不可行。目前,null和undefined基本是同义的,只有一些细微的差别。
null表示"没有对象",即该处不应该有值。典型用法是:
(1) 作为函数的参数,表示该函数的参数不是对象。
(2) 作为对象原型链的终点。
Object.getPrototypeOf(Object.prototype)
// null
undefined表示"缺少值",就是此处应该有一个值,但是还没有定义。典型用法是:
(1)变量被声明了,但没有赋值时,就等于undefined。
(2) 调用函数时,应该提供的参数没有提供,该参数等于undefined。
(3)对象没有赋值的属性,该属性的值为undefined。
(4)函数没有返回值时,默认返回undefined。
var i;
i // undefined function f(x){console.log(x)}
f() // undefined var o = new Object();
o.p // undefined var x = f();
x // undefined
最新文章
- Contents
- oracle的round函数和trunc函数
- java中使用MD5加密技术
- 发布网站时报错:未能将文件xxx复制到xxx,问题处理
- CentOS6.5的openssl升级
- LightOJ 1245 Harmonic Number (II) 水题
- ueditor编辑器图片自定义存放目录及路径修改
- 【POJ2417】baby step giant step
- HDU 5144 NPY and shot(三分法)
- liunx下NetworkManager导致网卡不能启动
- 消费创富会开发模式系统App
- Docker存储驱动之OverlayFS简介
- JavaScript八张思维导图—基本概念
- Qt自定义控件
- Kotlin 类和对象
- MPU6050带字符驱动的i2c从设备驱动1
- VS2015 与 Git 的简单使用
- js 格式化时间日期函数小结
- Ubuntu17.04下安装vmware虚拟机
- jsp数据库开发
热门文章
- Java课程设计---团队博客
- Java课程设计——计算器团队博客
- Install Oracle 12c R2 on CentOS 7 silent
- powerdesigner逆向工程 oracle
- mybatis-basedao的实现
- vue2.0动态绑定图片src属性值初始化时报错
- Linux Ubuntu从零开始部署web环境及项目 -----tomcat+jdk+mysql (二)
- spring实例化dataSource使用jndi和jdbc两种方式
- SpringAop详解
- unable to dequeue a cell with identifier MealTableViewCell