null和undefined
来源:互联网 发布:sql多个统计结果 编辑:程序博客网 时间:2024/06/11 00:30
说起null跟undefined,相信很多人既熟悉,又迷惑。
null是一个特殊值,常用来描述“空值”,它可以表示数字,字符串和对象是“无值”的,对null执行typeof会得到“object”。
undefined是变量的一种取值,表明变量没有初始化,对undefined执行typeof会得到“undefined”。
因为二者都是表示“值的空缺”,所以判断相等运算符“==”认为二者是相等的,结果为true,需要用“===”将二者区分,此时返回false。
在下面场景中应当使用null:
1.用来初始化一个变量,这个变量可能赋值为一个对象;
2.用来和一个已经初始化的变量比较,这个变量可以是也可以不是一个对象;
3.当函数的参数期望是对象时,用作参数传入;
4.当函数的返回值期望是对象时,用作返回值传出。
在下面的场景中不应当用null:
1.不要使用null来检测是否传入了某个参数;
2.不要用null来检测一个未初始化的变量。
理解null最好的方式是把它当作对象的占位符。
那些没有被初始化的变量都有一个初始值,即“undefined”,表示这个变量等待被赋值。
所以好的做法是给变量赋一个初始值,这样就可以有效的确保只有在一种情况下typeof才会返回“undefined”:当变量未声明时。
0 0
- null 和 undefined
- typeof、undefined 和 null
- JS:Undefined 和 Null
- undefined和null
- javascript null和undefined
- null和undefined
- undefined 和 null
- Null和Undefined类型
- null和undefined
- undefined 和 null
- null和undefined
- null和Undefined区别
- js--null和undefined
- JavaScript null 和 undefined
- null和undefined
- 区别null和undefined
- null和undefined
- 比较Undefined 和 null
- getDatabase called recursively数据库递归使用错误---解决方法
- [LeetCode 28]Implement strStr()
- 《数据结构编程实验》 3.3.1Symmetric Order
- hostapd 与 wpa_supplicant详解
- COCOS-Tiled地图类
- null和undefined
- [Codeforces #296 div1]简要题解
- 运维自动化
- 了解mock
- <easyui>树格式数据的构造(Java拼接)
- xml解析之pull解析
- android 显示和隐藏输入法键盘用法介绍
- 深入理解Java对象序列化
- 玩命牛的成长记录(一)——HTML初级知识