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。