js定义变量的方法:1、使用var定义变量,变量可以修改,可以不初始化,没有初始化输出undefined;2、使用const定义变量,变量不可以修改,且必须初始化;3、使用let定义变量,变量在函数内部中使用,对函数外部无影响。
本教程操作环境:windows7系统、ECMAScript 6版、Dell G3电脑。
定义变量的目的
在内存中分配一块存储空间给变量,方便以后存储数据。
怎么定义变量?
定义变量(声明变量),任何变量在使用之前,必须先进行定义。如果定义了多个变量,就会为这多个变量分别分配不同的存储空间。
在javascript中可以使用关键字:const
,var
,let
来定义变量。
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,4 setTimeout(function() { //定义函数内部变量 console.log(i); var d = "locald"; }, 1000); //依次打印0,1,2,3,4 } //访问内部变量//设置定时器,因为要一秒后d才会被定义 setTimeout(function() { console.log(d) }, 1001); //报错,未被定义
【推荐学习:javascript高级教程】
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,4 setTimeout(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定义变量的方法有哪些的详细内容。更多信息请关注PHP中文网其他相关文章!