目录
目录
目标
能够说出5种简单的数据类型
能够使用typeof获取变量的类型
能够说出1~2中转换为数值的方法
能够说出1~2中转换为字符型的方法
能够说出什么是隐式转换
1.数据类型简介
1.1 为什么需要数据类型
在计算机中,不同的数据所占用的存储空间是不投的,为了便于把数据分成所需内存大小不同的数据,充分利用存储空间,于是定义了不同的数据类型。
简单来说,数据类型就是数据的类别型号,比如说姓名“张三”,年龄18,这些数据的类型是不一样的。
1.2变量的数据类型
变量是用来存储值的所在处,他们有名字和数据类型,变量的数据类型决定了如何将代表这些值的位存储到计算机的内存中,JavaScript是一种弱类型或者说动态语言,这以为着不用提前声明变量的类型,在程序运行过程中,类型会被自动确定。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<script>
// int num = 10; java
//var num; // 这里的num 我们不确定属于哪种数据类型的
var num = 10 ; //num 输入数字型
//JS的变量数据类型是只有运行过程中,根据等号右边的值来确定的
var str ='张三'; //str 字符串型号
</script>
</body>
</html>
JavaScript拥有动态类型,同时也意味着相同的变量可用作不同的类型
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<script>
//js是动态语言,变量的数据类型是可以变化的
var x = 10; //x 是数字型
x = '张三'; //x 是字符串型
</script>
</body>
</html>
1.3 数据类型的分类
JS把数据类型分为两类
简单数据类型(Number,String,Boolean,Undefined,null)
复杂数据类型 (Object)
JavaScript中的简单数据类型及其说法如下:
简单数据类型 | 说明 | 默认值 |
Number | 数字型,包含整型值和浮点型值,如21、0.21 | 0 |
Boolean | 布尔值类型,如true、false,等价于1和0 | false |
String | 字符串类型,如“张三” 注意咱们JS里面,字符串都带引号 | "" |
Undefined | var a;声明了变量a但是没有赋值,此时a=undefined | undefined |
Null | var a = null 声明了变量a 为空值 | null |
2 数字型
2.1 数字型进制
最常见的进制有二进制,八进制,十进制,十六进制。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<script>
var num = 10; //num 数字型
var PI = 3.14; // PI 数字型
//1.八进制 0~7 我们程序里面数字前面加0,表示八进制
var num1 = 010;
console.log(num1) // 010 八进制转换为10进制就是 8
var num2 = 012;
console.log(num2);
//2.十六进制 0~9 a~f #ffffff 数字的前面加0x,表示十六进制
var num3 = 0x9;
console.log(num3);
var num4 = 0xa;
console.log(num4);
</script>
</body>
</html>
现阶段我们只需要记住,在JS中八进制前面加0,十六进制前面加0x
2.2数字型范围(作为了解)
JavaScript中数值的最大值和最小值
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<script>
alert(Number.MAX_VALUE);//1.7976931348623157e+308
alert(Number.MIN_VALUE);//5e-324
</script>
</body>
</html>
2.3数字型三个特殊值
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<script>
alert(Infinity);//代表无穷大,大于任何数值
alert(-Infinity);//代表无穷小,小于任何值
alert(NaN); //NaN Not a number 代表一个非数值
</script>
</body>
</html>
2.4 isNaN()
用来判断一个变量是否为数字类型,返回true或者false
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<script>
//isNaN() 这个方法用来判断非数字,并且返回一个值,如果是数字,返回 false,
// 如果不是数字返回true
console.log(isNaN(12)); //false
console.log(isNaN('张三'));//true
</script>
</body>
</html>
3. 字符串型String
字符串型可以使一号中的任意文本,其语法为双引号"" 和单引号 ' '
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<script>
var myname = "张三"; //使用双引号表示字符串
var myname1 = '李四'; //使用单引号表示字符串
var myname = 王五; // 报错,没有使用一号,会被认为是JS代码,但JS没有这些语法
</script>
</body>
</html>
因为HTML标签里面的属性使用的是双引号,JS这里我们更推荐使用单引号。
3.1字符串引号嵌套
JS可以用单引号嵌套双引号,或者用双引号嵌套单引号(外双内单,外单内双)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<script>
var StrMsg = '我是"高富帅"程序猿';//可以''包含 ""
var StrMsg = "我是'高富帅'程序猿";//可以""包含 ''
//错误
var StrMsg = "我是"高富帅"程序猿";//错误
</script>
</body>
</html>
3.2字符串转义符
类似HTML里面的特殊字符,字符串中也有特殊字符,我们称之为转义符
转义符都是\开头的,常用的转义符及其说明如下:
转义符 | 解释说明 |
\n | 换行符,n是 newline 的意思 |
\\ | 斜杠\ |
\' | '单引号 |
\" | 双引号 |
\t | tab 缩进 |
\b | 空格,b是blank的意思 |
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<script>
//字符串转义字符,都是 \ 开头 但是这些转义字符写到引号里面
var Str = "我是'高富帅'的\n程序猿";//可以""包含 ''
</script>
</body>
</html>
3.3 字符串长度
字符串是由软肝字符组成的,这些字符的数量就是字符串的长度,通过字符串的length属性可以获取整个字符串的长度。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<script>
//1.检测获取字符串的长度 length
var str = 'my name is andy';
console.log(str.length); //15
</script>
</body>
</html>
3.4字符串的拼接
多个字符串之间可以使用+进行拼接,其拼接方式为 字符串+任意类型 = 拼接之后的新字符串
拼接前会把与字符串相加的任何类型转成字符串,在拼接一个新的字符串。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<script>
//1.检测获取字符串的长度 length
var str = 'my name is tony';
console.log(str.length); //15
//2.字符串的拼接
console.log('张三'+'李四');//字符串的,张三李四
console.log('王五'+18);//王五18
console.log('雷龙剑'+true);//雷龙剑true
console.log(12 + 12)//24
console.log('12'+12)//1212
</script>
</body>
</html>
+号总结口诀:数值相加,字符相连
3.5字符串拼接加强
我们经常会把字符串和变量来拼接,因为变量可以很方便的修改里面的值
变量是不能添加引号的,因为加引号的变量会变成字符串
如果变量两侧都有字符串拼接,口诀"引引加加",删掉数字,变量卸载加中间
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<script>
console.log('张三'+18);//张三18
console.log('张三'+18+'岁')//张三18岁
var age = 18;
//我们变量不要写到字符串里面,是通过和字符串相连的方式实现的
console.log('张三'+age+'岁');//张三18岁
</script>
</body>
</html>