爱创课堂每日一题第五十天- null和undefined的区别?
2017-11-09 15:54
267 查看
null是一个表示"无"的对象,转为数值时为0;undefined是一个表示"无"的原始值,转为数值时为NaN。
当声明的变量还未被初始化时,变量的默认值为undefined。
null用来表示尚未存在的对象,常用来表示函数企图返回一个不存在的对象。
undefined表示"缺少值",就是此处应该有一个值,但是还没有定义。典型用法是:
(1)变量被声明了,但没有赋值时,就等于undefined。
(2) 调用函数时,应该提供的参数没有提供,该参数等于undefined。
(3)对象没有赋值的属性,该属性的值为undefined。
(4)函数没有返回值时,默认返回undefined。
null表示"没有对象",即该处不应该有值。典型用法是:
(1) 作为函数的参数,表示该函数的参数不是对象。
(2) 作为对象原型链的终点。
当声明的变量还未被初始化时,变量的默认值为undefined。
null用来表示尚未存在的对象,常用来表示函数企图返回一个不存在的对象。
undefined表示"缺少值",就是此处应该有一个值,但是还没有定义。典型用法是:
(1)变量被声明了,但没有赋值时,就等于undefined。
(2) 调用函数时,应该提供的参数没有提供,该参数等于undefined。
(3)对象没有赋值的属性,该属性的值为undefined。
(4)函数没有返回值时,默认返回undefined。
null表示"没有对象",即该处不应该有值。典型用法是:
(1) 作为函数的参数,表示该函数的参数不是对象。
(2) 作为对象原型链的终点。
相关文章推荐
- 爱创课堂每日一题第六十五天- 事件、IE与火狐的事件机制有什么区别? 如何阻止冒
- 爱创课堂每日一题第二十五天-2017/9/27 栈和队列的区别??
- 爱创课堂每日一题第二天8/24日 Quirks模式是什么?它和Standards模式有什么区别?
- 爱创课堂每日一题八十一天-行内元素和块级元素的具体区别是什么?行内元素的pad
- 爱创课堂每日一题103天- call和apply的区别
- 爱创课堂每日一题第三十八天-web storage和cookie的区别?
- 爱创课堂每日一题七十九天- 说说mongoDB和MySQL的区别?
- 爱创课堂每日一题第六十四天- GET和POST的区别,何时使用POST?
- 爱创课堂每日一题九十一天- Doctype的作用?严格模式与混杂模式的区别?
- 爱创课堂每日一题 XSS与CSRF有什么区别吗?
- 爱创课堂每日一题八十九天- CSS中link和@import的区别是:
- 爱创课堂每日一题第四天8/28日XML和JSON的区别?
- 爱创课堂每日一题102天- IE和DOM事件流的区别
- 爱创课堂每日一题八十五天- px和em的区别?
- 爱创课堂每日一题第四十三天- HTML与XHTML——二者有什么区别?
- 爱创课堂每日一题第三十九天- cookie 和session 的区别?
- 爱创课堂每日一题七十七天- attribute和property的区别是什么?
- 爱创课堂每日一题第二十六天-2017/9/28 栈和堆的区别?
- 爱创课堂每日一题第七天8/31TCP和UDP的区别?
- 爱创课堂每日一题七十四天- git fetch和git pull的区别?