弱类型的语言代表性之一就是,变量可以存放不同数据类型的数据(不用定义数据类型),所以我们接下来讲解JavaScript变量的定义和使用,以及有什么不同。
1.var
2.let(ES6新特性)
3.const(ES6新特性)
1.var
(1)作用域: 全局变量
(2)变量可以重复定义(第二个值会把第一个值给覆盖掉)
(3)变量可以存放不同数据类型的数据(不用定义数据类型)
(1)作用域: 全局变量
{
var age = 30;
}
window.alert(age);//可以访问到
(2)变量可以重复定义(第二个值会把第一个值给覆盖掉)
var age = 40;
var age = 30;
window.alert(age);//不会报错,并且输出语句为最新的30
(3)变量可以存放不同数据类型的数据(不用定义数据类型)
var test = 20;
test = "张三";
window.alert(test); //不会报错,并且正常输出张三
2.let(ES6新特性)
(1)不是全局变量了
(2)不允许重复定义
(3)变量可以存放不同数据类型的数据(不用定义数据类型)
(1)不是全局变量了
{
let age = 30;
}
window.alert(age);//不可以访问到
(2)不允许重复定义
let age = 40;
let age = 30;
window.alert(test);会报错,因为有两个重复的变量
(3)变量可以存放不同数据类型的数据(不用定义数据类型)
let test = 20;
test = "张三";
window.alert(test); //不会报错,并且正常输出张三
3.const(ES6新特性)
1.用来声明一个只读的常量,一旦声明,内部的值不能够改变,(类似于Java中的final关键字)