使用关键字var
var声明的变量可以是全局的(函数外面),也可以是函数级的(函数内部)。(注意:忽略块级作用域)这是JavaScript由来已久的特性。
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); //报错,未被定义
使用关键字let
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); //报错,未被定义
使用关键字const
const用于修饰常量,声明位置不限(通常声明在js开头),与java类的final关键字性质一样。
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); //报错,未被定义
以上就是javascript中声明变量的关键字是什么?的详细内容,更多请关注易知道|edz.cc其它相关文章!