1:JavaScript中的数据类型分为两大类:基本数据类型和引用数据类型。
2:基本数据类型:number、boolean、string、undefined、null。一共五种。
-- number:整数、小数(最高精度17位小数)、NaN(Not a Number)、Infinity(正无穷)、-Infinity(负无穷)。
注意:可以使用八进制(首位0)、十六进制(首位0x)、十进制表示Number类型。
-- undefined:是一种数据类型,只有一个值,就是undefined。代表变量声明了,但是没有赋值。
-- null:代表空的对象的引用(也就是给变量赋值为null)。
-- boolean:代表逻辑,只有两个值 true和false。
-- string:字符串类型,是基本数据类型,这个和java中不同。使用双引号 ”” 或者是单引号’ ’ 中的字符序列都是string类型的值。
3:引用数据类型:object类型(比如对象、数组、正则表达式、Date对象等)。
4:typeof 关键字,用来判断变量的类型。
-- 语法:typeof 变量名 该表达式返回变量的具体类型。
-- 注意:注意 使用typeof null 的类型为 object。这是JavaScript的一个bug,而且永远不会被修复。必经当初JavaScript第一个版本用了很短的时间就开发出来了。这个bug经过研究决定,以后都不会修复,所以这个bug也可以认为是JavaScript的一个特性了。
例子:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script type="text/javascript">
//定义Number类型的变量。
var a1 = 10;
//number
alert(typeof a1);
var a2 = 1.1;
var a3 = NaN;
var a4 = Infinity;
//a5在其java中会抛出异常,但是在js中的结果为Infinity。
var a5 = -1/0;
//八进制,打印结果为56
var a6 = 070;
//十六进制,十进制为18
var a7 = 0x12;
//parseInt 类似java中的parseInt 作用一样,是全局函数,直接调用即可。
//结果为NaN(Not a Number 的缩写)
var a8 = parseInt("abc");
//a9=12 会截断字符串前面的数字,只能数字在前面可以截断。
var a9 = parseInt("12abc");
alert(a5);//-Infinity
alert(a7);//18
alert(a8);//NaN
alert(a9);//12
//undefined 类型测试
var b1;
//声明没赋值 b1的类型为undefined
//typeof(b1) 判断b1 的类型 结果为 undefined
alert(typeof b1);
//输出 undefined
alert(b1);
//null 类型测试
var b2 = null;
//b2的类型应该是Null 但是很不幸打印结果为object。
//这是javascript的一个历史遗留的错误,而且不能修复。
alert(typeof b2);
//boolean 类型
var b3 = true;
var b4 = false;
alert(typeof b3);//boolean
alert(typeof b4);//boolean
//string 类型,单引号双引号都可以的
var s1 = "abc";
var s2 = 'true';
alert(typeof s1);//string
alert(typeof s2);//string
//引用数据类型测试
var arr = [1 , 2 , 3];//数组类型
var dates = new Date();//日期类型
var obj = {}; //空对象
alert(typeof arr);//object
alert(typeof dates);//object
alert(typeof obj);//object
//typeof 是关键字,用来判断右边的变量的数据类型,并返回该类型。
//注意 null 的类型为 object 。可以认为是JavaScript的一个bug,而且永远不会被修复。
</script>
</head>
<body>
</body>
</html>
PS:笔者有大量的学习资料:java、python、大数据、人工智能、前端等。需要的小伙伴请加群:711408961
笔者的b站中有一些教学视频分享。感兴趣的小伙伴可以关注:https://space.bilibili.com/412362068