這篇文章主要介紹了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);
}());
|
登入後複製
上面是我整理給大家的,希望今後會對大家有幫助。
相關文章:
詳解解讀在vue專案中引入elementUI元件
在Vue-cli中如何實作為單獨頁面設置背景色
在vue中實作刷新和tab切換
#
以上是js中let和var定義變數的差別有哪些?的詳細內容。更多資訊請關注PHP中文網其他相關文章!