js中let和var都可以定义变量,本文主要和大家介绍js中let和var定义变量的区别,非常不错,具有参考借鉴价值,需要的朋友可以参考下,希望能帮助到大家。
javascript 严格模式
第一次接触let关键字,有一个要非常非常要注意的概念就是”javascript 严格模式”,比如下述的代码运行就会报错:
1 2 | let hello = 'hello world.' ;
console.log(hello);
|
登录后复制
错误信息如下:
1 2 3 4 | let hello = 'hello world.' ;
^^^
SyntaxError: Block-scoped declarations (let, const , function , class ) not yet supported outside strict mode
...
|
登录后复制
解决方法就是,在文件头添加”javascript 严格模式”声明:
1 2 3 | 'use strict' ;
let hello = 'hello world.' ;
console.log(hello);
|
登录后复制
let和var关键字的异同
声明后未赋值,表现相同
1 2 3 4 5 6 7 | 'use strict' ;
( function () {
var varTest;
let letTest;
console.log(varTest);
console.log(letTest);
}());
|
登录后复制
使用未声明的变量,表现不同:
1 2 3 4 5 6 | ( function () {
console.log(varTest);
console.log(letTest);
var varTest = 'test var OK.' ;
let letTest = 'test let OK.' ;
}());
|
登录后复制
重复声明同一个变量时,表现不同:
1 2 3 4 5 6 7 8 9 | 'use strict' ;
( function () {
var varTest = 'test var OK.' ;
let letTest = 'test let OK.' ;
var varTest = 'varTest changed.' ;
let letTest = 'letTest changed.' ;
console.log(varTest);
console.log(letTest);
}());
|
登录后复制
变量作用范围,表现不同
1 2 3 4 5 6 7 8 9 10 11 | 'use strict' ;
( function () {
var varTest = 'test var OK.' ;
let letTest = 'test let OK.' ;
{
var varTest = 'varTest changed.' ;
let letTest = 'letTest changed.' ;
}
console.log(varTest);
console.log(letTest);
}());
|
登录后复制
相关推荐:
PHP预定义变量详解
Javascript如何定义变量?
关于javascript变量声明和定义变量var的不同理解和分析
以上就是js中let和var如何定义变量的详细内容,更多请关注php中文网其它相关文章!