1.变量
1.1变量的定义
变量就是可以变化的量,可以通过一些符号表示一些数据,这个符号就是变量(初始化 再次修改的量)(就是一个装东西的盒子,用来存放数据的)。
1.2声明变量
先声明,后赋值 eg: var 变量名; 变量名=值;
var age; //var是一个关键字,用来声明变量, 使用该关键字声明变量后计算机会自动为变量分配 内存空间,不需要程序员管。 age是程序员定义的变量名,我们要通过变量名来访问内存中分配的空间。 age = 18; //把18赋值给age // =用来把右边的值赋给左边的变量空间中 此处代表的是赋值的意思 //变量值是程序员保存到变量空间里的值。
(2) 声明的同时赋值(变量初始化) eg: var 变量名=值;
声明变量有三种关键词,var、let和const,推荐使用let下面将会详细介绍三者的区别。
- var 可以重复声明同名变量,有变量提升,有函数作用域(出了函数作用域就不起效了),没有块级作用域{}。
- let 是es6新增的,语法比较严谨,推荐使用,声明变量不可以重名,没有变量提升,必须先声明再使用,有块级作用域{}。
- const 声明常量 必须要初始化,声明变量不可以重名,没有变量提升,有块级作用域{},无法修改,可以用于声明一些对象(数组,函数,对象)
const a2 = 300; a2 = 400; //a2的值并没有被覆盖,会显示报错,const无法修改 const all=[1,2,3,4,5,6,78,8];//定义了一个数组,const不可以重新修改数组的值, 只能修改数组中某个值 all[3]=8; console.log(all);//all数组中序列号为3的数据被修改,修改后的值为8
1.3输出变量的值
三个输出语句都可以使用,但是alert不可以一次性输出多个变量的值。
- alert(name,age); 不可以这样写,页面只会显示第一个变量的值,第二个变量的值不显示。alert一次只能输出一个变量的值。
- console.log(age,name);可以同时输出多个变量的值,变量名与变量名之间用逗号隔开。
- document.write(name,age); 可以同时输出多个变量的值,变量名与变量名之间用逗号隔开。
1.4修改变量的值(重新赋值)
- 格式:变量名=新值;
- 修改会覆盖原来的值,多次赋值的话以最后一次的值为准。
- eg:
userName = '王'; console.log(age, userName);
1.5多变量的声明与操作
(1) 先声明,后赋值 eg: var a,b,c; a=10,b=20,c=30; (变量之间逗号隔开,分号结束)
(2) 声明的同时赋值(变量初始化) eg: var a=20,b=30,c=50;
1.6特殊问题
- 声明变量未赋值 undefined eg: var a1; console.log(a1);
- 未声明,直接赋值(不会报错,但不推荐) eg: b1=3; console.log(b1);
- 未声明,未赋值(将会直接报错) eg: console.log(c1);// Uncaught ReferenceError: c1 is not defined(变量未被初始化)
- 先输出,再声明赋值(浏览器看见var关键字会自动解析,将声明语句提升,但赋值语句不会提升) eg: console.log(d1); var d1=100; (undefined)
- 先输出,未声明,再赋值(会报错,浏览器只会将声明语句提前,但并不会将赋值语句提前) eg: console.log(e1); e1=100;
1.7变量的命名规范
- 变量名可以包含数字(0-9) 字母(a-z A-Z) 下划线 _ $
- 变量名不能以数字开头
- 变量名 区分大小写
- 推荐用驼峰命名法(推荐使用小驼峰命名法),或者下划线命名法 eg:stuName StuName stu_name
- 见名知意
- 不能使用关键字和保留字(不需要全记住)
1.8补充
+ 可以拼接字符串
var a1 = 15, b1 = 25, c1 = 35; console.log('a1 ' + a1, 'b1 ' + b1, 'c1 ' + c1);
console.log(`a=${a}`); //比较常用,反引号原样输出,${}解析变量。
<script> let username=prompt("请输入您的姓名"); let age=prompt('请输入您的年龄') console.log(`我叫${username},我的年龄是${age}`); </script>
也可以用引 + + 引的方式来同时输出字符串和变量名,两个加号中间放上变量名
<script> let username=prompt("请输入您的姓名"); let age=prompt('请输入您的年龄') console.log('我叫'+username+'我的年龄是'+age); </script>
- 可以在prompt()前面加上+,这样可以自动将变量的数据类型字符串转换为数字,也是较为常用的一种转换方式。
- javascript 的保留关键字 (了解,但不需要记忆)