javascript高级程序设计--浅析undefined与null的差别
2024-08-31 07:16:45
浅析undefined与null的差别
相似处:
1、undefined 和 null 都是javascript 的基本数据类型。事实上两者没有太大差别。
定义:
var a=undefined;
var a=null;
null==undefined;//true
2、null是一个表示"无"的对象,转为数值时为0;undefined是一个表示"无"的原始值,转为数值时为NaN。
Number(undefined)//NaN
5 + undefined
//NaN
而对于null
Number(null)
// 0
5 + null
// 5
差别
1、null表示"没有对象",即该处不应该有值。典型使用方法是:
(1) 作为函数的參数,表示该函数的參数不是对象。
(2) 作为对象原型链的终点。
Object.getPrototypeOf(Object.prototype)
// null
2、undefined表示"缺少值"。就是此处应该有一个值,可是还未定义。典型使用方法是:
(1)变量被声明了。但没有赋值时。就等于undefined。
(2) 调用函数时,应该提供的參数没有提供。该參数等于undefined。 (3)对象没有赋值的属性,该属性的值为undefined。 (4)函数没有返回值时。默认返回undefined。
example
var a;
a;//undefined
function f(x){console.log(x);}
f(x);//undefined
var obj=new Object();
obj.name;//undefined
var x=f();
x;//undefined
最新文章
- 关于selenium的CI、框架……
- 一篇很全面的freemarker教程
- MYSQL中的SELECT查询时进行运算
- CentOS下的账户管理
- HDFS的Java客户端操作代码(HDFS的查看、创建)
- linux下查看已经安装的jdk 并卸载jdk
- localStorage eval script
- Ionic3学习笔记(三)禁止横屏
- android adapter 中添加OnClickListener事件
- Java-NIO(一):简介
- 小程序API
- Java——多态浅析
- [leetcode]224. Basic Calculator
- poj1564 Sum It Up dfs水题
- hdu4777 树状数组
- 发布npm
- 转【Oracle】一款非常好用的trace文件分析工具
- SharpMap源代码解析
- 【容斥原理】【推导】【树状数组】Gym - 101485G - Guessing Camels
- tomcat结合memcached构建session服务器