您好,欢迎访问一九零五行业门户网

js中let和var如何定义变量

js中let和var都可以定义变量,本文主要和大家介绍js中let和var定义变量的区别,非常不错,具有参考借鉴价值,需要的朋友可以参考下,希望能帮助到大家。
javascript 严格模式
第一次接触let关键字,有一个要非常非常要注意的概念就是”javascript 严格模式”,比如下述的代码运行就会报错:
let hello = 'hello world.'; console.log(hello);
错误信息如下:
let hello = 'hello world.'; ^^^ syntaxerror: block-scoped declarations (let, const, function, class) not yet supported outside strict mode  ...
解决方法就是,在文件头添加”javascript 严格模式”声明:
'use strict'; let hello = 'hello world.'; console.log(hello);
let和var关键字的异同
声明后未赋值,表现相同
'use strict'; (function() {  var vartest;  let lettest;  console.log(vartest); //输出undefined  console.log(lettest); //输出undefined }());
使用未声明的变量,表现不同:
(function() {  console.log(vartest); //输出undefined(注意要注释掉下面一行才能运行)  console.log(lettest); //直接报错:referenceerror: lettest is not defined  var vartest = 'test var ok.';  let lettest = 'test let ok.'; }());
重复声明同一个变量时,表现不同:
'use strict'; (function() {  var vartest = 'test var ok.';  let lettest = 'test let ok.';  var vartest = 'vartest changed.';  let lettest = 'lettest changed.'; //直接报错:syntaxerror: identifier 'lettest' has already been declared  console.log(vartest); //输出vartest changed.(注意要注释掉上面lettest变量的重复声明才能运行)  console.log(lettest); }());
变量作用范围,表现不同
'use strict'; (function() {  var vartest = 'test var ok.';  let lettest = 'test let ok.';  {  var vartest = 'vartest changed.';  let lettest = 'lettest changed.';  }  console.log(vartest); //输出vartest changed.,内部{}中声明的vartest变量覆盖外部的lettest声明  console.log(lettest); //输出test let ok.,内部{}中声明的lettest和外部的lettest不是同一个变量 }());
相关推荐:
php预定义变量详解
javascript如何定义变量?
关于javascript变量声明和定义变量var的不同理解和分析
以上就是js中let和var如何定义变量的详细内容。
其它类似信息

推荐信息