JavaScript的null和undefined区别示例介绍


Posted in Javascript onSeptember 15, 2014

先说说undefined:

Javascript中的变量是弱类型的, 所以声明变量的时候只需使用var关键字即可。如果是像C这样的强类型语言, 声明变量的时候如果没有指定初始值,那么会给他一个默认值,比如int变量的默认值是0。但是在Javascript这样的弱类型语言中,没有办法确定到底该给这样的变量一个什么样的默认值,比如我声明一个变量

var v1;

是给他false还是0,或者是'' ?

因为没有类型,所以无法确定。 在Javascript中对于这种生命后没有给定初始值的变量,就给他一个undefined。不过前提是这个变量必须已经声明,如果对于没有声明过的标识符,就会出错。看看下面的代码。

vo="vo";//不使用var关键字创建的是全局变量,如果不赋值会报错,如下
//v1;//会报错
var v2;//undeifned
var v3="";//null
alert(vo);
//alert(v1);//
alert(v2);
alert(v3);

再来说说null:

Javscript有几个基本类型,Number,String,Boolean,Object。对于Object 类型的变量,他有两种情况,一种是他是一个对象的实例,另一种他是一个空引用null,熟悉类似Java这样面向对象语言的朋友应该很容易理解。对于这两种情况,他们的类型都是Object。Javascript中的变量,在给他赋值的时候,才
会确定它的类型,比如下面这样。

代码如下:

var v1 = 1; 
var v2 = true; 

alert(typeof v1); //number 
alert(typeof v2); //boolean 

v2 = new Date(); 
alert(typeof v2); //object 

v2 = "str"; 
alert(typeof v2); //string 

v2 = null; 
alert(typeof v2); //object

可以看到,null在 Javascript中代表一个特殊的Object类型的值,他用来表示空引用的概念,如果要将一个标识符声明称object类型,但是暂时不给他实例,那么就可以将它先初始化为null,以便以后使用。
不一定绝对正确,简单来说,对于所有变量,只要声明后还没有指定初始值 ,那么他就是undefined,如果是Object类型用来表示空引用的概念,那么就是用null来表示。

下面是一些补充:

null :表示无值;
undefined : 表示一个未声明的变量,或已声明但没有赋值的变量,或一个并不存在的对象属性。==运算符将两者看作相等。如果要区分两者,要使用===或typeof运算符。使用if (!object){}两者就都包含了 。

Javascript 相关文章推荐
[原创]图片分页查看
Aug 28 Javascript
javascript 写类方式之六
Jul 05 Javascript
一个网马的tips实现分析
Nov 28 Javascript
Jquery知识点二 jquery下对数组的操作
Jan 15 Javascript
常用js字符串判断方法整理
Oct 18 Javascript
对比分析json及XML
Nov 28 Javascript
jquery图片播放浏览插件prettyPhoto使用详解
Dec 19 Javascript
js限制文本框只能输入整数或者带小数点的数字
Apr 27 Javascript
js实现带按钮的上下滚动效果
May 12 Javascript
全面了解JavaScript对象进阶
Jul 19 Javascript
vue中倒计时组件的实例代码
Jul 06 Javascript
element-plus一个vue3.xUI框架(element-ui的3.x 版初体验)
Dec 02 Vue.js
JavaScript中变量声明有var和没var的区别示例介绍
Sep 15 #Javascript
JavaScript的arguments对象应用示例
Sep 15 #Javascript
avascript中的自执行匿名函数应用示例
Sep 15 #Javascript
JavaScript function 的 length 属性使用介绍
Sep 15 #Javascript
css与javascript跨浏览器兼容性总结
Sep 15 #Javascript
一个通过script自定义属性传递配置参数的方法
Sep 15 #Javascript
一个字符串反转函数可实现字符串倒序
Sep 15 #Javascript
You might like
Snoopy类使用小例子
2008/04/15 PHP
Zend Framework教程之资源(Resources)用法实例详解
2016/03/14 PHP
Laravel Intervention/image图片处理扩展包的安装、使用与可能遇到的坑详解
2017/11/14 PHP
PHP迭代器和迭代的实现与使用方法分析
2018/04/19 PHP
tp5(thinkPHP5框架)使用DB实现批量删除功能示例
2019/05/28 PHP
用Javascript做flash做的事..才完成的一个类.Auntion Action var 0.1
2007/02/23 Javascript
Use Word to Search for Files
2007/06/15 Javascript
javascript:void(0)的真正含义实例分析
2008/08/20 Javascript
javascript动态加载实现方法一
2012/08/22 Javascript
jQuery实现鼠标可拖动调整表格列宽度
2014/05/26 Javascript
JavaScript中的Math.LN2属性用法详解
2015/06/12 Javascript
jquery控制显示服务器生成的图片流
2015/08/04 Javascript
JS实现点击按钮获取页面高度的方法
2015/11/02 Javascript
JavaScript常用字符串与数组扩展函数小结
2016/04/24 Javascript
Bootstrap编写一个在当前网页弹出可关闭的对话框 非弹窗
2016/06/30 Javascript
node中Express 动态设置端口的方法
2017/08/04 Javascript
JS实现的邮箱提示补全效果示例
2018/01/30 Javascript
从vue基础开始创建一个简单的增删改查的实例代码(推荐)
2018/02/11 Javascript
如何对react hooks进行单元测试的方法
2019/08/14 Javascript
layui form表单提交后实现自动刷新
2019/10/25 Javascript
vue 实现购物车总价计算
2019/11/06 Javascript
[05:49]DOTA2-DPC中国联赛 正赛 Elephant vs LBZS 选手采访
2021/03/11 DOTA
Python列表推导式、字典推导式与集合推导式用法实例分析
2018/02/07 Python
PyQt5实现类似别踩白块游戏
2019/01/24 Python
python语言元素知识点详解
2019/05/15 Python
如何利用Pyecharts可视化微信好友
2019/07/04 Python
超全Python图像处理讲解(多模块实现)
2020/04/13 Python
Python中Qslider控件实操详解
2021/02/20 Python
基于HTML5 WebGL的3D机房的示例
2018/03/16 HTML / CSS
教育专业个人求职信
2013/12/02 职场文书
企业项目策划书
2014/01/11 职场文书
广告创意求职信
2014/03/17 职场文书
小学生学习雷锋倡议书
2014/05/15 职场文书
质量承诺书格式
2014/05/20 职场文书
个人房屋买卖协议书(范本)
2014/10/04 职场文书
二年级学生期末评语
2014/12/26 职场文书