JavaScript typeof, null, 和 undefined

转载 2017年01月03日 18:15:27

JavaScript typeof, null, undefined, valueOf()。


typeof 操作符

你可以使用 typeof 操作符来检测变量的数据类型。

实例

typeof "John"                // 返回 string 
typeof 3.14                  // 返回 number
typeof false                 // 返回 boolean
typeof [1,2,3,4]             // 返回 object
typeof {name:'John', age:34} // 返回 object

尝试一下 »

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>菜鸟教程(runoob.com)</title>
</head>
<body>
<p> typeof 操作符返回变量或表达式的类型。</p>
<p id="demo"></p>
<script>
document.getElementById("demo").innerHTML = 
typeof "john" + "<br>" + 
typeof 3.14 + "<br>" +
typeof false + "<br>" +
typeof [1,2,3,4] + "<br>" +
typeof {name:'john', age:34};
</script>


</body>
</html>

Note  在JavaScript中,数组是一种特殊的对象类型。 因此 typeof [1,2,3,4] 返回 object。 


Null

在 JavaScript 中 null 表示 "什么都没有"。

null是一个只有一个值的特殊类型。表示一个空对象引用。

Note 用 typeof 检测 null 返回是object。

你可以设置为 null 来清空对象:

实例

var person = null;           // 值为 null(空), 但类型为对象

尝试一下 »

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>菜鸟教程(runoob.com)</title>
</head>
<body>
<p>对象可以通过设置为 <b>null</b> 来清空。</p>
<p id="demo"></p>
<script>
var person = {firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"};
var person = null;
document.getElementById("demo").innerHTML = typeof person;
</script>
</body>
</html>

你可以设置为 undefined 来清空对象:

实例

var person = undefined;     // 值为 undefined, 类型为 undefined

尝试一下 »
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>菜鸟教程(runoob.com)</title>
</head>
<body>


<p>对象可以设置为 <b>undefined</b> 来清空。</p>
<p id="demo"></p>
<script>
var person = {firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"};
var person = undefined;
document.getElementById("demo").innerHTML = typeof person;
</script>


</body>
</html>

Undefined

在 JavaScript 中, undefined 是一个没有设置值的变量。

typeof 一个没有值的变量会返回 undefined

实例

var person;                  // 值为 null(空), 但仍然是一个对象

尝试一下 »

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>菜鸟教程(runoob.com)</title>
</head>
<body>
<p>变量的值如果不存在则该变量值为 <b>undefined</b>。</p>
<p id="demo"></p>
<script>
var person;
document.getElementById("demo").innerHTML =
person + "<br>" + typeof person;
</script>
</body>
</html>

任何变量都可以通过设置值为 undefined 来清空。 类型为 undefined.

实例

person = undefined;          // 值为 undefined, 类型是undefined

尝试一下 »
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>菜鸟教程(runoob.com)</title>
</head>
<body>
<p>变量可以通过设置 <b>undefined</b> 来清空。</p>
<p id="demo"></p>
<script>
var person = {firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"};
var person = undefined;
document.getElementById("demo").innerHTML =
person + "<br>" + typeof person;
</script>
</body>
</html>

Undefined 和 Null 的区别

typeof undefined             // undefined
typeof null                  // object
null === undefined           // false
null == undefined            // true

尝试一下 »
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>菜鸟教程(runoob.com)</title>
</head>
<body>


<p id="demo"></p>
<script>
document.getElementById("demo").innerHTML =
typeof undefined + "<br>" +
typeof null + "<br>" +
(null === undefined) + "<br>" +
(null == undefined);
</script>


</body>
</html>

json,js中typeof用法详细介绍及NaN、 null 及 undefined 的区别

JSON.parse(jsonstr); //可以将json字符串转换成json对象 JSON.stringify(jsonobj); //可以将json对象转换成json对符串 在j...
  • feicongcong
  • feicongcong
  • 2016年12月05日 14:07
  • 1562

JavaScript中null和undefined的比较和区别

在JavaScript中很经常就会出现null和undefined这几种结果,今天就详细的介绍一下null和undefined的定义和区别。 null根据其名字就可以大致看出来意思,就是为空。在js中...
  • linzhiqiang0316
  • linzhiqiang0316
  • 2016年07月29日 16:11
  • 1446

微信WeixinJSBridge使用及结果判断

不清楚这个使用方法是否会被腾讯屏蔽
  • make164492212
  • make164492212
  • 2014年04月12日 14:57
  • 6097

js判断undefined类型,undefined,null, 的区别详细解析

js判断undefined类型,undefined,null, 的区别详细解析
  • qq_26676207
  • qq_26676207
  • 2016年11月09日 16:01
  • 6998

JavaScript中“null”和“undefined”的区别

JavaScript语言居然有两个表示”无”的值:undefined和null。这是为什么?
  • qq_35577827
  • qq_35577827
  • 2016年12月31日 10:33
  • 164

javascript基础学习(1)数据类型--undefined和null、boolean

基本数据类型:number、string、undefined、null、boolean、object(array、function、object) 1、undefined 只有一个值,即特殊的und...
  • u012841667
  • u012841667
  • 2016年09月29日 10:36
  • 368

【JavaScript】中关于null和undefined的研究

JavaScript的数据类型大体分为两类:原始类型和对象类型。其中,原始类型包括数字、字符串和布尔值。此外,JavaScript中还有两个特殊的原始值:null(空)和undefined(未定义),...
  • hj7jay
  • hj7jay
  • 2017年01月12日 10:01
  • 247

js判断undefined类型,undefined,null, 的区别详细解析

js判断undefined类型,undefined,null, 的区别详细解析
  • qq_34117825
  • qq_34117825
  • 2016年08月26日 10:03
  • 2978

JavaScript中“null”和“undefined”的区别

JavaScript(在后面简称js)中在对空值作了两种定义“null“和“undefined“,在这里简单说一下它们两个的区别。先说一下“null”(空),“null”在js中是一个关键字,它在js...
  • qq_34631741
  • qq_34631741
  • 2016年12月31日 08:36
  • 129

javascript基础(数值,布尔值,Null和Undefined)(五)

1.数值: /* Number * - 在JS中所有的数字都是Number类型 * - 包括整数和浮点数 * */ ...
  • u010853130
  • u010853130
  • 2017年02月07日 17:35
  • 520
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:JavaScript typeof, null, 和 undefined
举报原因:
原因补充:

(最多只允许输入30个字)