1.什么是变量
所谓变量,通俗的理解就是用于存放数据的容器。 我们通过 变量名 获取数据,甚至数据可以修改。
本质:变量是程序在内存中申请的一块用来存放数据的空间。
2.变量的使用
变量在使用时分为两步: 1. 声明变量 2. 赋值
2.1 声明变量
// 声明变量 var width; // 声明一个 名称为width 的变量
注意点:
①var 是一个 JS关键字,用来声明变量( variable 变量的意思 )。使用该关键字声明变量后,计算机会自动为变量分配内存空间,不需要程序员管;
②width 是程序员定义的变量名,我们要通过变量名来访问内存中分配的空间.
2.2 赋值
width = 100; // 给width 这个变量赋值为100
注意点:
① = 用来把右边的值赋给左边的变量空间中 此处代表赋值的意思
② 变量值是程序员保存到变量空间里的值
2.3 变量的初始化
变量的初始化指的是声明一个变量并赋值。
var width = 100; // 声明变量width同时为其赋值为100
2.4 更新变量
一个变量被重新复赋值后,它原有的值就会被覆盖,变量值将以最后一次赋的值为准。
var width = 100; width = 80; // 最后的结果就是80,因为100 被覆盖掉了
2.5 同时声明多个变量
同时声明多个变量时,只需要写一个 var, 多个变量名之间使用英文逗号隔开。
var age = 10, name = 'cindy', sex = 'girl'; // 同时声明了3个变量并给对应变量赋值 // 以上代码等同于如下: var age = 10; var name = 'cindy'; var sex = 'girl';
但是这里有个坑需要注意:
var a,b,c=10; // 这里声明了3个变量,但是只有一个赋值,该值是赋给了c 以上代码等同于如下: var a; var b; var c=10;
2.6. 声明变量特殊情况
情况 | 说明 | 结果 |
---|---|---|
var width; console.log(width); | 只声明变量,不赋值 | undefined |
console.log(width); | 不声明变量,不赋值,直接使用 | 报错 |
width=100; console.log(width); | 不声明变量,只赋值 | 100 |
3. 变量命名规范
①变量名由大小写字母、数字(0-9)、下划线(_)、美元符号( $ )组成,如:userAge, num01, _name
②严格区分大小写。var str; 和 var Str; 是两个变量
③不能 以数字开头。 18age 是错误的
④不能 是关键字、保留字。例如:var、for、while
⑤变量名尽量要有意义,一般使用英文单词。
⑥遵守驼峰命名法。首字母小写,后面单词的首字母需要大写。 如:myFirstName
4.声明变量关键字var、let和const的区别
它们之间的区别,主要为:
(1)var 语句 用于声明一个函数范围或全局范围的变量,并可将其初始化为一个值(可选)。
var num = 10; var num = 20; console.log(a); // 输出结果是20
我们刚刚说过,var 声明变量时,可以给一个变量重新赋值,此时它原有的值就会被覆盖,除此之外,它也会将命名相同的变量给覆盖。
(2)let 语句声明一个块级作用域的本地变量,并且可选的将其初始化为一个值。
let num = 10; let num = 20; console.log(num) // 不可以声明两个相同变量名,报错 let str = '2'; str = '33'; console.log(str); //正常输出,33
通过代码验证,变量num在第二次声明的时候会报错,打印的时候也是报错的,如上图所示。
这说明使用let关键字声明的变量不可以被重复声明,但是可以重新赋值,也就是下面代码可以正常输出str为33。
(3)const常量是块级范围的,非常类似用 let 语句定义的变量。但常量的值是无法(通过重新赋值)改变的,也不能被重新声明。
const num = 10; const num = 20; console.log(num); // 不可以声明两个相同变量名,报错 const str = '11'; str = '22'; console.log(str); // 不可以重新赋值,报错
上面的代码执行发现,num的情况和let声明时一样,不能重复声明。str也报错,说明const不能被重新赋值。
通过对var、let、const三个关键字声明变量进行对比,虽然三者都是用于声明变量的,但是使用方法还是有一定区别的。所以在实际开发中,要根据需求选择合适的声明变量的方式。