JavaScript是弱类型语言,对于数据类型的规范比较松散。使用不严格,可以根据需要自动转换数据类型。
JS中定义了6种基本数据类型。
null 空值。表示不存在,当对象的属性设置为null,表示删除该属性
undefined 未定义。当声明变量,而没有赋值时会显示该值。
number 数值
string 字符串
boolean 布尔值
object 对象。面向对象的基础(引用类型)
Number类型:
包括整数和浮点数
Demo:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>JS中的数值类型</title>
<script>
/*
在JS中所有的数值都是Number类型
包括整数和浮点数
*/
// 定义一个整数
var num1=1895;
//定义一个浮点数
var num2=485.988;
console.log("num1:"+num1+"\tnum2:"+num2);
//字符串
var strNum="1895";
// 使用typeof 检测变量的数据类型
//格式:typeof 变量名称
console.log("num1 data type:"+typeof num1);
console.log("strNum data type:"+typeof strNum);
//NUmber数据类型的最小值和最大值
console.log("Number Min Value:"+Number.MIN_VALUE);
console.log("Number Max Value:"+Number.MAX_VALUE);
//返回infinity:无穷大
console.log("Value:"+(Number.MAX_VALUE * Number.MAX_VALUE));
//返回NaN:非数值,不等于任何数值(包括自己)
console.log("Value:"+0/0);
console.log(Number.NaN);
//使用算术运算符,数值可以参与各种计算(加、减、乘、除等运算操作)
var n1=100;
var n2=300;
console.log("sum:"+(n1+n2));
console.log("difference:"+(n2-n1));
console.log("product:"+(n1*n2));
console.log("Quotient:"+(n2/n1));
/*
注意:在JS中进行数值计算时,要防止浮点数溢出
二进制的浮点数不能正确地处理十进制的小数
*/
var n3=0.1+0.2;
console.log("n3:"+n3);
/*
解决方法:浮点数中的整数运算是精确的,小数表现出的问题可以通过指定精度来避免
*/
var n4=(1+2)/10;
console.log("n4:"+n4);
</script>
</head>
<body>
</body>
</html>
布尔型:
仅包含两个固定值(true/false)
true 代表 ‘真’
false 代表 ‘假’
Demo:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>JS中的Boolean类型</title>
<script>
/*
布尔型(Boolean)仅包含两个固定值(true/false)
true 代表 '真'
false 代表 '假'
*/
var flag=true;
var temp=false;
console.log("flag data type:"+typeof flag);
console.log("temp data type:"+typeof temp);
console.log("value:"+!flag);
console.log("value:"+!temp)
</script>
</head>
<body>
</body>
</html>
字符串类型:
字符串也称文本
字符串必须包含在单引号或双引号之中
注意:
如果字符串包含在双引号中,则字符串内部可以包含单引号
如果字符串包含在单引号中,则字符串内部可以包含双引号
Demo:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>JS中的字符串类型</title>
<script>
var str="you must try your best";
// alert("string:"+str);
//获取字符串的长度:使用字符串的length属性
var len=str.length;
// console.log("length:"+len);
// 使用转义字符 输出字符串本身
var str1="\"太好了吧\"";
// alert("str1:"+str1);
//字符串的连接:使用加号运算符(+)
var strText01="锄禾日当午,";
var strText02='汗滴禾下土。';
strText02="粒粒皆辛苦。";
var strConcat=strText01+strText02;
console.log("strConcat:"+strConcat);
/*
常用的转义字符:
\" 双引号
\' 单引号
\n 换行符
\t 制表符
\\ 反斜杠
*/
var text="你一定要全力以赴,\"破釜沉舟\",\n没得其他选择了!";
alert("text:"+text);
</script>
</head>
<body>
</body>
</html>