方法一var
var 是js种比较传统的定义方式,它的定义特点就是在声明一个变量后,可以重新用var再次声明一个同名的变量;
var num1 = 10;
var num1 = 20;
console.log(num1); //输出20
在声明了同名变量后,新声明的变量将代替一开始声明的同名变量,其工作模式是当声明一个变量时,将在内存开辟一个新的空间,并且赋值;
当有声明一个新的同名变量时,将会将旧的空间删去,并且开辟一个新的空间,然后再赋值。这样导致的效率会比较低。所以有第二种方法的出现。
方法二 let
let是ES6的声明语法,其作用和var相差不多,但是唯一的区别就是不能重复声明一个相同的变量,这样也就避免了上面方法一的情况出现;
let num2 = 10;
//let num2 = 20; //报错
//重新赋值
num2 = 20;
console.log(num2); //输出20
和var相比不可重新声明相同变量外,let的作用域也与var有一定的区别:
let定义的for循环
var定义的for循环
同样的for循环:
let在块作用域内可以被调用,在外面则无法被调用
var在函数作用域内均可以被调用
固更推荐用let写法声明变量,因为这样可以更加规范更加方便维护和管理。
方法三 const
const:声明后的变量无法再修改或者重新声明,这在定义一些重要的变量是会用到,保证代码的安全性。
const num3 = 10;
num3 = 20 //报错
const num3 = 20 //报错
小白小归纳,有错误的地方欢迎大佬指正。