JavaScript中的数据类型和对象类型以及typeof运算符的使用
一7种数据类型
1 js中有7种数据类型
- string
- number
- object
- boolean
- function
- null
- undefined
2 js中可以存放数据的5种数据类型
- function
- string
- number
- object
- boolean
3js中不可以存放数据的2种数据类型
- null
- undefined
二 6种对象类型
- Number
- String
- Boolean
- Date
- Object
- Array
这里的对象类型和数据类型的对比关系,有一点儿类似于Java中的包装类和基本数据类型之间的对比关系。
三 typeof运算符的使用
<!DOCTYPE html>
<html lang="en">
<head>
<!--@Author:asher
@Date:2021/7/11 14:17 -->
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<h2>The JavaScript typeof operator</h2>
<p>The typeof operator returns the type of a variable,object,function or expression.</p>
<p id="demo"></p>
<script>
document.getElementById('demo').innerHTML=
typeof 'Jonh'+"<br>"+
typeof 3.14 +"<br>"+
typeof NaN+"<br>"+
typeof false+"<br>"+
typeof [1,2,3]+"<br>"+
typeof {name:'john',age:33}+"<br>"+
typeof new Date()+"<br>"+
typeof function f(){}+"<br>"+
typeof null+"<br>"+
typeof myCar+"<br>"
</script>
</body>
</html>注意,注意:JS中,
数组的数据类型是object;
null的数据类型是object;
date的数据类型是object;
NaN的数据类型是number;
function的数据类型是function;
未定义的变量的数据类型是undefined;
变量定义了,但是未赋值的变量,其数据类型是undefined;
另外:我们不可以使用typeof来判断某个JavaScript 对象是不是一个数组,或者是不是一个date?
怎么理解呢?因为,假定typeof a1/d1的结果是object。这时,我们不能说a1或者d1就是一个数组,因为如果它们是date的话,其结果也是object。