javascript的变量是什么

  • 来源:网络
  • 更新日期:2022-02-28

摘要:在javascript中,变量就是临时存储值的容器,它可以储存数字、文本、或者一些复杂的数据等;而变量名就是容器上贴着的标签,通过标签可以找到变量,以便读、写它存储的值。本教程操作

在javascript中,变量就是临时存储值的容器,它可以储存数字、文本、或者一些复杂的数据等;而变量名就是容器上贴着的标签,通过标签可以找到变量,以便读、写它存储的值。


本教程操作环境:windows7系统、javascript1.8.5版、Dell G3电脑。

什么是变量?

从字面意思来讲,变量就是可变的量;从编程角度来讲,变量就是临时存储值的容器,它可以储存数字、文本、或者一些复杂的数据等。而变量名就是容器上贴着的标签,通过标签可以找到变量,以便读、写它存储的值。

举例2个盒子,为区分它们,其中一个用box1表示,另外一个用box2,当然你也可以用任意的名称来区分,这个box1就是盒子名字也就是所谓变量的名字。

变量如何定义?

定义变量(声明变量),任何变量在使用之前,必须先进行定义。如果定义了多个变量,就会为这多个变量分别分配不同的存储空间。

在javascript中可以使用关键字:const,var,let来定义变量,语法:

关键字 变量名称;

例:

var name;var name, age, sex;

1、使用var定义变量

var定义的变量可以修改,如果不初始化会输出undefined,不会报错。

//未定义情况下console.log(a); //打印undefined//初始化var a = "aaa";console.log(a); //打印 aaa//修改变量var a = "bbb";console.log(a); //打印bbb//循环,检测块级作用域for(i = 0; i < 5; i++) {console.log(i); //依次打印0,1,2,3,4setTimeout(function() { //定义函数内部变量 console.log(i); var d = "locald"; }, 1000); //依次打印0,1,2,3,4} //访问内部变量//设置定时器,因为要一秒后d才会被定义setTimeout(function() {console.log(d)}, 1001); //报错,未被定义

2、使用const定义变量

const定义的变量不可以修改,而且必须初始化,const定义的是一个恒定的常量

//未定义情况下console.log(a); //报错。没有定义,所以需要先定义//初始化const a = "aaa";console.log(a); //打印 aaa//修改变量const a = "bbb";console.log(a); //报错,a早已赋值,无法修改//循环,检测块级作用域for(i = 0; i < 5; i++) {console.log(i); //依次打印0,1,2,3,4setTimeout(function() {//定义函数内部变量console.log(i);const d = "locald";}, 1000); //依次打印0,1,2,3,4}//访问内部变量//设置定时器,因为要一秒后d才会被定义setTimeout(function() {console.log(d)}, 1001); //报错,未被定义

3、使用let定义变量

let是块级作用域,函数内部使用let定义后,对函数外部无影响。

//未定义情况下console.log(a); //报错,需要先定义//初始化let a = "aaa";console.log(a); //打印aaa//修改变量let a = "bbb";console.log(a); //打印a已经被声明了//循环,检测块级作用域for(i = 0; i < 5; i++) {console.log(i); //依次打印0,1,2,3,4 setTimeout(function() {//定义函数内部变量console.log(i);let d = "locald";}, 1000); //依次打印0,1,2,3,4}//访问内部变量//设置定时器,因为要一秒后d才会被定义setTimeout(function() {console.log(d)}, 1001); //报错,未被定义

注意一点,注意擦看for循环打印出来的,这与var有很大的区别

这里就突出了块级作用域的好处

【推荐学习:javascript高级教程】