数据类型简介
1.为什么需要数据类型。
在计算机中,不同的数据所需占用的储存空间是不同的,为了便于把数据分成所需内存大小不同的数据,充分利用存储空间,于是定义了不同的数据类型。
var age = 10; //这是一个数字型
var areYouOk ='是的'; //这是一个字符串型
在代码运行时,变量的数据类型是由JS引擎根据=右边变量值的数据类型来判断的,运行完毕之后变量,就确定了数据类型。
因为JavaScript拥有动态类型,同时也意味着相同的变量可用作不同的类型:
var x ==6; //x为数字
var x ='bill'; //x为字符串。
<script>
var num;//这里的num 我们是不确定属于那种数据类型的
var num = 10; //num 属于数字型
// JS的变量数据类型 是只有程序在运行过程中,根据右边的值来决定的
var str ='pink'; //str字符串型
//JS是动态语言 变量的数据类型是可以变化的
var x =10; //x是数字型
x = 'pink'; //x就变成了字符串型
</script>
数据类型的分类
JS把数据类型分为两类:
- 简单数据类型(number,string,Boolean,underfined,null)
- 复杂数据类型(object)
简单数据类型 | 说明 | 默认值 |
---|---|---|
Number | 数字型,包含 整型值和浮点型值,如21、0.21 | 0 |
Boolean | 布尔值类型,如true 、false ,等价于1和0 | 0 |
String | 字符串乐星,如’ 张三’注意在JS里面,字符串都带有引号 | '’‘ |
Undefined | var a=nill; 声明了变量a但是没有给值,此时a = underfined | undefined |
Null | var a=null; 声明了变量a为空值 | null |
var age =21; //整数
var age = 21.3747 //小数
数字型 Number
1.数字型进制
常见的禁止有二进制 八进制 十六进制。
- 八进制 0~7 我们程序里面数字前面 加0表示八进制
- 十六进制前面加0X
<script>
var num = 10; //num 数字型
var PI = 3.14 //PI数字型
var num1 = 010;
console.log(num1); //八进制转化为10进制 就是 8
var num2 = 012;
console.log(num2);
//十六进制 0~9 a~f #fffff 数字的前面加0x 表示十六进制
var num3 = 0x9;
console.log(num3);
var num4 = 0xa;
console.log(num4);
</script>在这里插入代码片
数字型范围
JavaScript中数值的最大跟最小值
数字类型的三个特殊值
alert(infinity); //代表无穷大,大于任何数值。
alert(-infinity); //代表无穷小,小于任何数值
alert(NAN); //NOT a nmuber,代表一个非数值
数字型 Number
is NaN()
用来判断 是否为非数字的类型,返回ture 或者false.
<script>
//isNaN()这个方法用来判断非数字 并且返回一个值 如果是数字 返回的是false 如果不是数字返回的是true
console.log(isNaN(12)); //false
console.log(isNaN('字符串')); //true
</script>
字符串型 String
字符串型可以是引号中的任意文本,其语法为双引号" " 和单引号’ '。
字符串嵌套
<script>
//'pink' '12' 加了引号的就是字符串类型的。
var str = '我是一个"苦逼"程序员'; //外单内双,外双内单。
console.log(str);
var str1 = "我是一个'苦逼'程序员"; //外单内双,外双内单。
console.log(str1);
</script>
字符串转义符
类似于HTML里面的特殊字符,字符串中也有特殊字符,我们称之为转义符。
转义符都是\开头的,常用的转义符及其说明如下:
转义符 | 解释说明 |
---|---|
\n | 换行符,n是newline的意思 |
\ | 斜杠\ |
\ ’ | 单引号 |
* | 双引号 |
\t | tab 缩进 |
\b | 空格,B是blank的意思 |
<script>
alert('酷热难耐,火辣的太阳底下,我挺拔的身子,成为了最独特的风景。\n我审是四周这里,是我的舞台,我就是天地间的王者。\n这一刻我豪气冲天,终于大喊一声:"回收旧手机,换剪子换菜刀换盆~"');
</script>
字符串长度
字符串是由若干字符组成的,这些字符的数量就是字符串的长度,通过字符串的length属性可以获取整个字符串的长度。
<script>
//1.检测获取字符串的长度 length
var str = 'my name is andy';
console.log(str.length); //显示 15
</script>
字符串的拼接
- 多个字符串之间可以使用+进行拼接,其拼接方式为字符串+任何类型=拼接之后的新字符串
- 拼接前会把与字符串相加的任何类型转成字符串,在拼接成一个新的字符串。
<script>
//1.检测获取字符串的长度 length
var str = 'my name is andy';
console.log(str.length); //显示 15
//字符串的拼接 +只要有字符串和其他类型相拼接最终结果是字符串
console.log('沙漠' + '骆驼'); //字符串的 沙漠骆驼
console.log('盖伦' + 600); //盖伦600
console.log('liu'+true);//liu true
console.log(12+12);//24
console.log('12'+12);//'1212'
</script>
口诀是:数值相加,字符相连
字符串拼接加强版。
<script>
console.log('盖伦' + 18); //盖伦18
console.log('盖伦' + 18 + '岁'); //18岁
var age = 19;
console.log('盖伦age岁');
//我们变量不要写道字符串里面,是通过和字符串相连的方式试下呢。
console.log('盖伦' + age + '岁');
//变量和字符串相连的口诀:引引 加加
console.log('盖伦' +age +'岁');
</script>
- 我们经常会将字符串和变量来拼接,因为变量可以很方便的修改里面的值
- 变量是不能添加引号的,因为加引号的变量会变成字符串。
- 如果变量两侧都有字符串拼接,口诀’’ 引引加加",删掉数字,变量写加中间
布尔型Boolean
布尔类型有两个值:true和false,其中 true表示真(对),而false表示假(错)。
布尔值和数字型相加的时候,true的值为1,false的值为0
<script>
var flag = true; //flag布尔型
var flag1 = false; //flage1 布尔型
console.log(flag + 1); //true 参与加法运算当1来看
console.log(flag1 + 1); //false 参与加法运算当0来看
</script>
Undefined和Null
一个声明后没有赋值的变量会有一个默认值undefined(如果进行相连hi哦这相加时,注意结果)
<script>
var str;
console.log(str);
var variable = undefined;
console.log(variable + 'pink'); //underfinedpink
console.log(variable + 1); //结果为NaN undefined 和数字相加 最后的结果时NaN
// null 空值
var space = null;
console.log(space + 'pink'); //结果为nullpink
console.log(space + 18); //空值+18结果为18
</script>
一个声明变量给null值,里面存的值为空