1. 变量
1.1 变量是什么
变量不是数据本身,它们仅仅是一个用于存储数据的容器。
1.2 变量基本使用
1.2.1 声明变量
要想使用变量,首先需要创建变量(也称为声明变量或者定义变量)
语法:
let 变量名
-
声明变量有两部分构成:声明关键字、变量名(标识)
-
let即关键字,所谓关键字是系统提供的专门用来声明(定义)变量的词语。
1.2.2 变量赋值
定义了一个变量后,你就能够初始化它(赋值)。在变量名之后跟上一个“=”,然后是数值。
// 1.声明一个age变量 let age // 2. age变量赋值为18 age = 18 // 3.输出age变量 console.log(age)
注意:是通过变量名来获取变量里面的数据
简单点,也可以声明变量的时候直接完成赋值操作,这种操作也称为变量初始化
let age = 18
练习 变量
需求:
声明一个变量,用于存放用户购买的商品数量(num)为20件
声明一个变量,用于存放用户的姓名(uname)为’张三‘
依次控制台打印输出两个变量
let num = 20 let uname = '张三' console.log(num) console.log(uname)
1.2.3 更新变量:
变量赋值后,还可以通过简单地给它一个不同的值来更新它。
let age = 18 console.log(age) // 18 age = 19 console.log(age) // 19
注意:let不允许多次声明一个变量
1.2.4 声明多个变量:
变量赋值后,还可以通过简单地给它一个不同的值来更新它。
语法:多个变量中间用逗号隔开
let age = 18, uname='张三'
说明:看上去代码长度更短,但并不推荐这样。为了更好的可读性,请一行只声明一个变量。
let age = 18 let uname = '张三'
变量案例-弹出姓名
需求:浏览器中弹出对话框:请输入姓名,页面中输出:刚才输入的姓名
分析:
输入:用户输入框:prompt()
内部处理:保存数据
输出:页面打印document.write()
let uname = prompt('请输入姓名') document.write(uname)
变量案例-交换变量的值
需求:
有2个变量:num1里面放的是10,num2里面放的是20
最后变为num1里面放的是20,num2里面放的是10
分析:
核心思路:使用一个临时变量用来做中间存储
let num1 = 10 let num2 = 20 let temp temp = num1 num1 = num2 num2 = temp console.log(num1) console.log(num2)
1.3 变量的本质
程序在内存中申请的一块用来存放数据的小空间
1.4 变量命名规则与规范
规则:必须遵守,不遵守报错(法律层面)
-
不能使用关键字
-
关键字:有特殊含义的字符,JavaScript内置的一些英语词汇。例如:let、var、if、for等
-
-
只能用下划线、字母、数字、$组成,且数字不能开头
-
字母严格区分大小写,如Age和age是不同的变量
规范:建议,不遵守不会报错,但不符合业内通识(道德层面)
-
起名要有意义
-
遵守小驼峰命名法:
-
第一个单词首字母小写,后面每个单词首字母大写。例如:className
-
变量练习-输出用户信息
需求:让用户输入自己的名字、年龄、性别,再输出到网页
分析:
弹出输入框:请输入您的姓名(uname):用变量保存起来
弹出输入框:请输入您的年龄(age):用变量保存起来
弹出输入框:请输入您的性别(gender):用变量保存起来
页面分别输出刚才3个变量
let uname = prompt('请输入您的姓名') let age = prompt('请输入您的年龄') let gender = prompt('请输入您的性别') document.write(uname) document.write(age) document.write(gender)
1.5 变量拓展
1.5.1 let 和 var区别:
在较旧的JavaScript,使用关键字var来声明变量,而不是let。var现在开发中一般不再使用它,只是我们可能在老版程序中看到它。
let为了解决var的一些问题。
var声明:
-
可以先使用再声明(不合理)
-
var声明过的变量可以重复声明(不合理)
-
比如变量提升、全局变量、没有块级作用域等等
结论:
var就是个bug,以后声明我们统一使用let
1.5.2 数组
数组(Array)——一种将一组数据存储在单个变量名下的优雅方式
let arr = []
数组的基本使用
声明语法
let 数组名 = [数据1,数据2,……,数据n]
-
数组是按顺序保存,所以每个数据都有自己的编号
-
计算机中的编号从0开始
-
在数组中,数据的编号也叫索引或下标
-
数组可以存储任意类型的数据
取值语法
数组名[下标]
例
let names = ['Mary','Bob','Mark','Jack','Jim'] names[0] // Mary names[1] // Bob
通过下标获取数据
取出来是什么类型的,就根据这种类型特点来访问
数组取值案例
需求:定义一个数组,里面存放星期一、星期二……直到星期日(共7天),在控制台输出:星期日
let week = ['星期一','星期二','星期三','星期四','星期五','星期六','星期日'] console.log(week[6])
一些术语:
元素:数组中保存的每个数据都叫数组元素
下标:数组中数据的编号
长度:数组中数据的个数,通过数组的length属性获得
let names = ['Mary','Bob','Mark','Jack','Jim'] console.log(names[0]) // Mary console.log(names[1]) // Bob console.log(names.length) // 5
2. 常量
2.1 常量基本使用
概念:使用const声明的变量称为“常量”
使用场景:当某个变量永远不会改变的时候,就可以使用const来声明,而不是let。
命名规范:和变量一致
常量使用:
// 声明一个常量 const G = 9.8 // 输出这个常量 console.log(G)
注意:常量不允许重新赋值,声明的时候必须赋值(初始化)
小技巧:不需要重新赋值的数据使用const