1.变量的声明与赋值
①先声明后赋值
Ⅰ.声明变量
<script>
var boy;
var girl;
console.log(boy); //underfined(未定义的)
console.log(girl);
</script>
Ⅱ.为变量赋值
<script>
boy = "jack"
girl = "lily"
console.log(boy); //jack
console.log(girl); //lily
</script>
②声明的同时并赋值
<script>
var myAge = 16;
var myHeight = 188;
console.log(myAge);
console.log(myHeight);
</script>
2.let声明变量(let和var的区别)
①let变量
let是ES6新引入的关键字,用来替代var关键字(ES6指2015年推出的ECMAScript语法。), let不允许在一个代码块里面有变量和他取一样的名字,但允许修改同一个变量值(一个花括号{}就是一个代码块)。
<script>
let girlFriend = "444"
girlFriend = "555";
console.log(girlFriend);
{let girlFriend ="xxx"}
</script>
②var变量
使用var声明变量,可以多次赋值,但是结果为最后一次赋值。
<script>
var girlFriend = "111"
var girlFriend = "222"
var girlFriend = "333"
console.log(girlFriend);
</script>
3.const声明变量
let和var声明的变量可以改变,const声明的变量不能改变,所以const用来声明常量。
①错误写法
<script>
const a =3.14
a = 3.15
console.log(a);
</script>
②正确写法
<script>
const a = 2
console.log(a);
</script>
注:const必须在声明的时候就赋值,例 const b = xxx
4.声明变量的区别
(1)使用var和let声明变量时可以先不初始化,而使用const声明变量时必须初始化。
(2)重复声明不同,使用var和let声明的变量可以多次被修改,其值只与最近一次赋值一致,而使用const声明的变量,在整个运行过程中不能修改初值.
(3)对块级作用域的支持不同。 (使用一对花括号括起来的代码称为一个代码块所谓块级作用域,就是指变量起作用的范围是当前代码块,离开当前代码块,变量就失效了。使用var声明的变量支持全局作用域,使用let和const声明的变量支持块级作用域。)