ES6版本之前的数据类型有6种,ES6版本及之后包括的数据类型有7种
一.JS数据类型之Undefined
<!DOCTYPE html>
<html>
<head>
<title>Undefined类型</title>
</head>
<body>
<!--Undefined类型只有一个值,这个值就是undefined
当一个变量没有手动赋值,系统默认赋值undefined
或者也可以给一个变量手动赋值undefined-->
<script type="text/javascript">
var i;
var k = undefined;
var y = "undefined";
//i和k一样,y是字符串
</script>
</body>
</html>
二.JS数据类型之Number
<!DOCTYPE html>
<html>
<head>
<title>Number类型</title>
</head>
<body>
<script type="text/javascript">
/*
1.Number类型包括哪些值?
-1,0,2.3,NaN,Infinity
整数,小数,正数,负数,不是数字(NaN)、无穷大都属于Number类型
2.Nan:表示Not a Number,不是一个数字,但属于Number类型
什么情况下是一个NaN呢?
运算结果本来应该是一个数字,但是最后算完不是一个数字的时候,结果是NaN。
isNaN
3.parseInt()函数
4.parseFloat()函数
5.Math.ceil()函数
Math是数学类,数学类当中有一个函数叫做ceil(),作用是向上取整。比如1.1向上取整是2
*/
var a = 100;
var b = "中国人";
alert(a / b);//除号的结果应该是一个数字,但是运算的过程中导致最后不是一个数字,那么最后的结果就是NaN
var e = "abc";
var f = 10;
alert(e + f);//+两边如果有一个是字符串,那会先做字符串的拼接,不会先做求和运算
//Infinity(当除数为0的时候,结果为无穷大)
alert(10/0);
//在JS中,10/3不是无穷大
alert(10/3);//3.3333333333333335
//关于isNaN函数?
//用法: isNaN,结果是true则表示不是一个数字: is Not a Number
//parseInt()
//作用是将字符串自动转化成数字,并且取整数位。
alert(parseInt("3.9999"));//3
alert(parseInt(3.9999));
//parseFloat()
//作用是将字符串自动转化成数字,不取整数位
alert(parseFloat("3.14"));
//Math.ceil()
alert(Math.ceil("2.1"));//3
</script>
</body>
</html>
三.JS数据类型之Boolean和Null
<!DOCTYPE html>
<html>
<head>
<title>Boolean类型</title>
</head>
<body>
<script type="text/javascript">
/*
在Boolean类型中有一个函数叫做:Boolean()
Boolean(数据)
Boolean()函数的作用是将非布尔类型转化为布尔类型
if(username),比如username是string,那么如果username是"",则不会执行if,如果username是有值的字符串,则转为true
*/
//规律:“有”就转换成true,“没有”就转换成false
alert(Boolean(1));//true
alert(Boolean(0));//false
alert(Boolean(""));//false
alert(Boolean("abc"));//true
alert(Boolean(null));//false
alert(Boolean(NaN));//false
alert(Boolean(undefined));//false
alert(Boolean(Infinity));//true
//Null类型只有一个值null,但是typeof null的值是objetc
</script>
</body>
</html>
四.JS数据类型之String
<!DOCTYPE html>
<html>
<head>
<title>String类型</title>
</head>
<body>
<script type="text/javascript">
/*
1.在JS当中,字符串可以使用单引号,也可以使用双引号
2.创建
①var s = "abc";
②var s2 = new String("abc");
第二种是JS内置的支持类,可以直接使用,String的父类是Object
3.无论是小String还是大String,他们的属性和方法都是通用的
4.常用属性:length属性、prototype属性
常用函数:
indexOf//获取指定字符串在当前字符串中第一次出现处的索引
lastIndexOf//获取指定字符串在当前字符串中最后一次出现处的索引
replace//替换
substr//截取子字符串
substring//截取子字符串
toLowerCase//转换小写
toUpperCase//转换大写
split拆分字符串
*/
//小String,属于原始类型String
var x = "abc";
alert(typeof x);//String
//大String,属于Object类型
var y = new String("abc");
alert(typeof y);//Object
//获取字符串的长度
alert(x.length);
alert(y.length);
alert("http://www.baidu.com".indexOf("http"));// 0
alert("http://www.baidu.com".indexOf("https"));// -1
//判断一个字符串中是否包含某个字符串
alert("http://www.baidu.com".indexOf("https") >= 0 ? "包含":"不包含");
//替换,这里只会替换一个,想要全部替换需要正则表达式
alert("name=value%name=value%name=value".replace("%","&"));
//考点:经常问substr和substring的区别?
//substr(startIndex,length);
alert("abcdefxyz".substr(2,4));//cdef
//substring(startIndex,endIndex);注意,不包括endIndex
alert("abcdefxyz".substring(2,4));//cd
</script>
</body>
</html>