为什么需要数据类型
在计算机中,不同的数据所需占用的存储空间是不同的,为了便于把数据分成所需内存大小不同的数据,充分利用存储空间,于是定义了不同的数据类型
简单来说,数据类型就是数据的类别型号
变量的数据类型
变量是用来存储值的所在处,它们有名字和数据类型,变量的数据类型决定了如何将代表这些值的位置存储到计算机内存中,JavaScript是一种弱类型或者说动态语言,这意味着不用提前声明变量的类型,在程序运行过程中,类型会被自动确定
var agr=10;//这是一个数字型
var areYouOk='是的';//这是字符串
在代码运行时,变量的数据类型是由js引擎 根据=右边的变量值的数据类型来判断的,运行完毕时,变量就确定了数据类型
JavaScript拥有动态类型,同时也意味着相同的变量可用作不同的类型
var x=6;//x为数字
var x='Bill';//x为字符串
数据类型的分类(1.简单数据类型)
简单数据类型 | 说明 | 默认值 |
Number | 数字型,包含整型值和浮点型值,如21、0.21 | 0 |
Boolean | 布尔值类型,如ture,false,等价与1和0 | false |
String | 字符串类型,如‘张三’,注意js里面,字符串都是带引号 | “” |
Undefined | var a;声明了变量a但没有给值,此时a=underfine | underfined |
Null | var a=null;声明了a为空值 | null |
数字型 Number
最常见的有二进制、八进制、十进制、十六进制
(现阶段我们只需记住,在JS 中,八进制前面加0,十六进制前面加0x)
数字型范围
最大值和最小值
alert (Number.MAX_VALUE);//1.7976931348623157e+308
alert (Number.MIN_VALUE);//5e-324
数字型的三个特殊值
Infinity,代表无穷大,大于任何数值
-Infinety,代表无穷小,小于任何数值
NaN,Not a number,代表一个非数值
字符串型(string)
字符串型可以是引号中的任意文本,其语法为“双引号”和‘单引号’,都可以,但是推荐单引号
字符串引号嵌套
JS可以用单引号嵌套双引号,或者用双引号嵌套单引号(外双内单,外单内双)
var strMsq='我是一个"高富帅"程序员';//可以用‘’包含“”
var strMsq=“我是一个'高富帅'程序员”;//也可以用“”包含‘’
//常规错误
var badQuotes='What on earth?";//报错,不能单双引号配
字符串转义符
转义符都是\开头的,常用转义符如下(转义字符要写到引号里面:“我是一个‘高富帅’的\n程序员”)
转义符 | 解释说明 |
\n | 换行符,n是newline |
\\ | 斜杠\ |
\' | ‘单引号 |
\* | "双引号 |
\t | tab 缩进 |
\b | 空格,b是blank |
字符串长度
字符串由若干个字符组成,这些字符的数量就是字符串的长度,通过字符串的length属性可以获取整个字符串的长度
var str='my name is andy';
console.log(str.length);//15
字符串的拼接
多个字符串之间可以使用 + 进行拼接,其拼接方式为字符串 + 任何类型 =拼接之后的新字符串
alert('hello'+''+'word');//hello wprd
alert('100'+'1000');//1001000
alert('11'+12);//1112
alert(12+12);//24
口诀:数值相加,字符相连
字符串拼接加强
console.log('虎妞'+10);//只要有字符就会相连
var age=10;
//console.log('虎妞age个月')//这种事错误的
console.log('虎妞'+age);//虎妞10
console.log('虎妞'+age+'个月');//虎妞十个月
我们经常会将字符串和变量来拼接,因为变量可以很方便的修改里面改掉的值
变量是不能添加引号的,因为加引号的变量会变成字符串
如果变量两侧都有字符串拼接,口诀“引引加加”,删掉数字,变量写加中间
交互编程的三个基本要素
1、你喜欢我吗→这是 用户输入
2、女孩想了想→这是 程序内部处理
3、最后给你了一巴掌→这是 输出结果
在程序中如何实现?
1、弹出一个输入框(prompt),让用户输入年龄(用户输入)
2、把用户输入的值用变量保存起来,把刚才输入的年龄与要输出的字符串拼接(程序内部处理)
3、使用alert语句弹出警示框(输出结果)
布尔型
布尔型有两个值:true和false,其中true表示真(对),而false表示假(错),
布尔型和数字型相加的时候,true的值为1,false的值为0.
console.log(true+1);//2
console.log(false+1);//1
undefined 未定义的
var str;
console.log(str);
var variable=undefined;
console.log(variable+'pink');//undefinedpink
console.log(variable+1);//NaN undefined 和数字相加 最后的结果是NaN
null 空值
var space=null;
console.log(space+'pink');//nullpink
console.log(space+1);//1