JS中的变量以及数据类型
JS中的变量
变量是什么?
- 变量是在程序运行过程中临时存储的数据,装载这个数据的容器叫做变量。
- 变量是指在计算机内存中开辟一个临时空间区域用来装载临时数据,这个空间中的数据是可以修改的
怎么声明变量?
-
一般情况下声明变量:
变量类型 变量名称;
-
声明变量并初始化:
变量类型 变量名称=变量值;
-
JS
变量声明:var num1=10;
-
var
是JS
中的一个关键字,主要是用来声明变量 -
JS
语言中的变量的数据类型取决于赋值,这个变量的数据类型不一定是一成不变的,每一步的数据类型都取决于这一步它所装的数值的数据类型
变量命名规范
- 使用两种命名规范:驼峰命名法(命名中首单词全部小写,之后单词首字母大写)、帕斯卡命名法(命名中的所有单词首字母大写)
- 驼峰命名法适用于:变量、方法,帕斯卡命名法适用于:对象命名
- 变量名称不能是关键字
- 变量名称必须以字母,下划线开头,之后可以跟数字,尽量不要使用特殊符号
- 命名变量,务必要保证变量名称有意义(见名知意)
JS中的数据类型
在学习JS中的数据类型之前,我们先想想为什么需要数据类型呢?
- 因为在计算机中,不同的数据所需要的占据的储存空间是不同的,为了便于把数据分成所需内存大小不同的数据,充分利用存储空间,因此我们才定义了不同的数据类型.
- 数据类型能够代表一个数据的特征和属性
数据类型分类
数据类型分为简单数据类型和复杂数据类型
-
简单数据类型:Number,String,Boolean,Undefined,Null
-
常用的数据类型:Object
简单数据类型
Number(数字类型)
- 数字类型可以给整数,小数,还可以给二进制,八进制,十六进制的数据
isNaN:
函数是用来判断一个数值是否为非数字,返回false即为是数字,返回true即为是非数字.
数字类型有三个特殊值
- Infinity:代表无穷大,大于任何数值
- -Infinity:代表无穷小,小于任何数值
- NaN:Not a Number,代表一个非数值
String(字符串类型)
- 字符串类型中字符串的引号内可以写任何文本
- 在JS中字符串用单引号双引号都可以表示为字符串
- 一般在HTML标签中的属性后面需要使用双引号给属性值,因此当写行内JS时,如果遇到字符串则变得非常麻烦,所以我们需要使用双引号和单引号来实现嵌套
转义字符
-
在字符串中有一些特殊的字符,例如在双引号中需要再嵌套双引号。这时候就需要用到转义字符。
-
在JS中转义字符以
\
开头,一般情况下字符串中遇到\
,JS引擎就会默认将\
和后面的一个或者若干个字符进行组合当做转义字符执行 -
但是,并不一定是标准的转义字符,如果组合到一起不是标准的转义字符,那么就会将
\
处理掉
转义字符 | 说明 |
---|---|
\n | 换行 |
\ | 斜杠\ |
\’ | 单引号’ |
\" | 双引号" |
\t | TAB缩进 |
字符串长度
- 字符串双引号中的每一个独立的内容叫做一个字符,字符串的长度是指这个字符串中字符的个数
- 字符串变量的属性
length
可以直接拿到字符串的长度 - 转义字符的话
\
和后面字符合为一个字符计算
字符串连接
- 字符串连接的话,多个字符串之间可以使用
+
连接起来,加号左右两边只要有一个数据是字符串那么都是进行字符串连接的作用
Boolean(布尔类型)
- ]布尔类型的本质是
1
和0
,如果Boolean
类型和数字之间进行运算的话就是数学运算
undefined和Null
undefined是一个数据类型
-
一个声明后没有给赋值的变量默认值是undefined,如果是undefined在进行相连或相加时要注意
-
字符串+undefined=字符串undefined
-
数字+undefined=
NaN
null是一个数据
-
一个声明变量并赋值Null。如果进行对Null相连或相加时要注意:
-
字符串+Null=字符串Null
-
数字+Null=数字
获取数据类型
- 检测数据类型使用
typeof
函数进行检测
语法:
typeof(数据或者变量)
数据类型的转换
常用的数据类型转换有三个
- 转换为字符串类型
- 转换为数字类型
- 转换为布尔类型
转换为字符串类型
toString()
:将数据直接转为字符串类型,括号中可以填写一些转换的条件String()
:可以使用String函数直接转换为字符串类型- 使用加号拼接字符串方式进行转换(隐式转换)
转换为数字类型
parseFloat
():将一个数据转换成小数,必须要保证这个字符串数据以小数点或数字开头,从字符串中的第一个数字或小数字符开始往后转换,直到遇到第一个非数字类型或者字符串结束截止。parseInt()
:将字符串类型转成整数数值,如果字符串并不是纯数字,只要是数字开头则会将开头的数字部分转换出来Number()
强制转换函数,将String类型转为数值类型JS
隐式转换(- , * , /)
转换为布尔类型
Boolean()
函数,对于0
,NaN
,Null
,undefined
,“ ”
转换结果都是false
,其余转换结果皆为true