变量
- 变量概述
1.1什么是变量
变量就是一个装东西的盒子。
变量就是用于存放数据的容器,我们通过变量名获取数据,甚至数据可以修改。
1.2变量在内存中的存储
本质:变量是程序在内存中申请的一块用来存放数据的空间。
类似于我们酒店的房间,一个房间就可以看作是一个变量。
- 变量的使用
变量在使用时分为两部步;1.声明变量;2.赋值。
2.1声明变量
//声明变量
var age; //声明一个名称为age的变量
- var 是一个JS关键字,用来声明变量(variable 变量的意思),使用该关键字声明变量后,计算机会自动为变量分配内存空间,不需要程序员管。
- age 是程序员定义的变量名,我们要通过 变量名来访问内存中分配的空间。
2.2变量赋值
age = 10; //给age这个变量赋值为10
-
-
- = 用来 把右边的值赋给左边的变量空间中,此处代表赋值的意思。
- 变量值是程序员保存到变量空间里的值。
-
2.3变量初始化
var age = 18; //声明变量同时赋值为18
声明一个变量并赋值,我们称之为变量的初始化。
案例:变量的使用
- 弹出一个输入框,提示用户输入姓名;
- 弹出一个对话框,输出用户刚才输入的名字。
<script>
// 1.用户输入姓名 存储到一个叫 myname 的变量里面
var myname = prompt('请输入你的姓名')
// 2.输出这个用户名
alert(myname)
</script>
- 变量的语法扩展
3.1更新变量
一个变量被重新赋值后,它原有的值就会被覆盖,变量值将以最后一次赋的值为准。
3.2同时申明多个变量
同时申明多个变量时,只需要写一个 var,多个变量名之间使用英文逗号隔开。
3.2声明变量的特殊情况
①只声明不赋值,结果是 undefined
②不声明 不赋值,直接使用某个变量,会报错
③不声明,直接赋值使用,在JS中可以使用,但是会变成全局变量。
3.3变量命名规范
- 由字母(A-Za-z)、数字(0-9)、下划线(_)、美元符号($)组成,如userAge,num01,_name
- 严格区分大小写。 var app; 和 var App;是两个变量
- 不能以数字开头,18age是错误的
- 不能是关键字、保留字。比如var for while
- 变量名必须有意义。
- 遵守驼峰命名法。首写字母小写,后面单词的首字母需要大写。 myFirstName
数据类型
- 数据类型简介
1.1为什么需要数据类型
在计算机中,不同的数据所需占用的空间是不同的,为了便于把数据分成所需内存大小不同的数据,充分利用存储空间,于是定义了不同的数据类型。
1.2变量的数据类型
变量是用来存储值的所在处,它们有名字和数据类型。变量的数据类型决定了如何将这些值的位存储到计算机内存中。
JavaScript是一种你弱类型或者说动态语言。变量的数据类型是可以变化的。
这意味着不用提前声明变量的类型,在程序运行过程中,根据等号右边的值,类型会被自动确定。
1.3数据类型的分类
JS把数据类型分为两类:
简单数据类型(Number、String、Boolean(布尔型)、Undefined、Null)
复杂数据类型(Object)
- 字符串类型(String)的转义字符
转义符 | 解释说明 |
\n | 换行符 |
\\ | 斜杠 \ |
\’ | ‘ 单引号 |
\” | “ 双引号 |
\t | tab 缩进 |
\b | 空格 |
- 字符串长度
检测字符串长度
通过字符串的length属性来检测字符串的长度
console.log(str.length)
- 字符串拼接
console.log(‘沙漠’+’骆驼’) = 沙漠骆驼
console.log(‘12’+’12) = 1212
只要有字符串和其他类型相拼接,最终的结果是字符串类型。(数值相加,字符相连)
- 布尔型Booleam
布尔类型有两个值:true和false,其中true表示真(对),而false表示假(错)。
布尔型和数字型相加时,true 的值为 1,false 的值为0.
1.4获取检测变量的数据类型
①typeof可用来检测变量的数据类型
var num = 10;
console.log(typefo num);
- 数据类型转化换
2.1什么是数据类型转换
使用表单、prompt获取过来的数据默认是字符串类型的的,此时就不能直接简单的进行加法运算,而需要转换变量的数据类型。通俗来说,就是把一种数据类型的变量转换成另外一种数据类型。
- 转换为字符串类型
- 转换为数字型
- 转换为布尔型
2.2转换为字符串类型
方式 | 说明 | 案例 |
toString() | 转换成字符串 | var num=1;alert(num,toString()); |
String | 转换成字符串 | var num=1;alert(String(num)); |
加号拼接字符串 (隐式转换) | 和字符串拼接的结果都是字符串 | var num=1;alert(num+”我是字符串”); |
2.2转换为数字型(重点)
方式 | 说明 | 案例 |
parseInt(string)函数 | 将string类型转换成整数数值型 | parseInt(‘78’) |
parseFloat(string)函数 | 将string类型转换成浮点数数值型 | parseFloat(‘78.21’) |
Number()强制转换函数 | 将string类型转换为数值型 | Number(‘12’) |
Js隐式转换(- * /) | 利用算数运算隐式转换为数值型 | ‘12’ - 0 |
注意:
- 我们一般使用前面两种转换方式。
- 隐式转换是在我们进行算数运算的时候,JS自动转换了数据类型
2.2转换为布尔型
方式 | 说明 | 案例 |
Boolean()函数 | 其他类型转换成布尔值 | Boolean(‘true’); |
注意:
- 代表空、否定的值会被转换为false,如 ‘ ’、0、NaN、null、undefined。
- 其余的都会被转换为true。