Javascript数据类型——undefined和null的异同
Javascript的基本数据类型中有undefined和null两种只有一个值得特殊数据类型。其中undefined表示未被初始化,不是为声明。而null表示一个空对象指针,而这也是使用typeof检测null返回”object”的原因。
undefined表达的是通过var声明了变量,但没有显示的赋值(由此可以推论,Javascript的变量默认值为undefined)。然而对声明未赋值的变量和未被声明的变量执行typeof操作返回值均是”undefined”。就这点来讲,我们在声明变量的时候最好对其显示的赋值,这样当typeof返回”undefined”时,能明确知道这个变量时未声明的,不是未赋值的。
//undefined 一些比较
var name;
alert(name); //undefined
alert((typeof name ); // undefined
alert(name == undefined ) ; // true
alert(name ===undefined); // true
//未声明age变量
alert(age); //产生异常
alert(typeof age); //undefined
alert(age == undefined); // 产生异常
alert(age === undefined); // 产生异常
null,空指针对象。由于Javascript是弱类型的,在变量的生存周期中可以任意改变其类型。对于一个准备保存对象的变量来说,应该初始化为null,这样检测null就可以确认这个对象是否已经引用了一个对象。
var people = null;
alert(people == null) ; //true
alert(people === null) ; //true
alert(typeof people) ; //object
最后一点特殊的,undefined派生自null,因此null和undefined进行相等测试结果是true。这里不讨论==和===的区别,下面这个结果只表示,null和undefined不是完全相同的值。:
alert(null == undefined); //true
alert(null === undefined); //false
在使用上,null只表示空指针对象,undefined可以表示任意显示未初始化的变量。只要用于保存对象的变量都应明确初始化为null。
Javascript数据类型——undefined和null的异同的更多相关文章
- javascript 数据类型 undefined 和null
数据类型 undefind null boolean number string object type of 功能:检测变量类型 语法:type of 变量或 type of (变量) consol ...
- javascript类型系统——undefined和null
× 目录 [1]原因 [2]undefined [3]null 前面的话 一般的程序语言,表示空的只有null,但javascript的设计者Brendan Eich却设计了一个undefined,这 ...
- undefined 和 null 的异同
在javascript中,undefined和Null是两个比较特殊的值.但有时候在判断时就有点迷糊.依个人浅见,整理如下: 1.数据类型 众多周知,在javascript中存在五种基本类型,即und ...
- JavaScript数据类型-2---Undefined、 Null、 Boolean、 Number、 String.
学习目标 1.掌握JavaScript的数据类型 2.掌握typeof操作符 3.掌握Undefined 4.掌握null JavaScript的数据类型 ECMAScript中有5种简单数据类型(也 ...
- JavaScript中undefined与null的区别
通常情况下, 当我们试图访问某个不存在的或者没有赋值的变量时,就会得到一个undefined值.Javascript会自动将声明是没有进行初始化的变量设为undifined. 如果一个变量根本不存在会 ...
- 【转】JavaScript中undefined与null的区别
通常情况下, 当我们试图访问某个不存在的或者没有赋值的变量时,就会得到一个undefined值.Javascript会自动将声明是没有进行初始化的变量设为undifined. 如果一个变量根本不存在会 ...
- 快速弄清JavaScript中undefined和null的区别
ES6的7大数据类型里面有这俩玩意:undefined和null,让接触不深的学习者常常产生混淆,这俩玩意的区别在哪呢? 字面意思上来看,undefined是未(被我们)阐明的,未说明的,null则意 ...
- 【前端】javascript判断undefined、null、NaN;字符串包含等
JS中判断null.undefined与NaN的方法 这篇文章主要介绍了JS中判断null.undefined与NaN的方法,需要的朋友可以参考下 . . 写了个 str ="s" ...
- JavaScript的undefined与null、NaN的区别
Javascript的数据类型 在JavaScript中,有三种住数据类型.两种复合数据类型和两种特殊数据类型. 1.主数据类型(基元数据类型) 字符串 String数据类型: 字符串值是一个由零个或 ...
随机推荐
- javascript 返回顶部
<style> #linGoTopBtn { POSITION: fixed; TEXT-ALIGN: center; LINE-HEIGHT: 30px; WIDTH: 30px; ...
- php远程读取json的方法
<?php /** * @author 懒人 <service@kuitao8.com> * @since 2.0 */ header("Content-type:text ...
- Python的面向对象4
今天我们接着来聊聊继承! 那什么是继承呢? 新写的类是不必重新编写,只要从现有的类继承,就自动拥有了该类的所有功能,新类只需要编写现有类缺少的功能,可以复用已有的代码! python的继承的特点: 继 ...
- ul动态增加li
--> aaa bbb <%@ page language="java" import="java.util.*" pageEncoding=&qu ...
- C#中获得汉字的首拼音(加强版)
/// <summary> /// 汉字拼音首字母列表 /// 包含了20901个汉字,收录的字符的Unicode编码范围为19968至40869 /// </summary> ...
- HttpContext.Current.Session=null问题
启用asp.net状态服务,可以让Session持久化!
- Entity Framework Code First 映射继承关系
转载 http://www.th7.cn/Program/net/201301/122153.shtml Code First如何处理类之间的继承关系.Entity Framework Code Fi ...
- nexus3添加第三方jar
最近在看maven的打包及管理,然後就看到nexus,自己在安裝的時候就下載了最新版的nexus-3.2.0-01-win64,按照文档部署后启动,浏览.之前一致使用的是2.0的,所以还是需要导出点点 ...
- iOS Xcode制作模板类-b
为什么要定义模板类 遵守代码规范可以提高代码可读性, 降低后期维护成本. 当我们定下了一个团队都认同的代码规范, 如我们要求所有的viewController的代码都得按照下面来组织: #pragma ...
- JVM 学习笔记(二)
JVM 堆中几乎存放着java中所有的对象实例,在在垃圾回收前先要判断对象是否已死,这里对对象的判断主要有: 1. 引用计数法 给对象中添加一个引用计数器,每当有一个地方引用他时,计数器就加1:当引 ...