[英]Chrome debugger showing wrong values
我在Chrome Ubuntu(版本68.0.3440.106 64位)上調試js代碼,並且我注意到調試器給了我錯誤的值,即使我通過添加監視表達式條目來監視該值也是如此。
for (let i = 0; i < visibility.show.or.length; ++i) {
const currentVisibilityContext = visibility.show.or[i];
}
但是如果我使用var
而不是let
工作正常
for (var i = 0; i < visibility.show.or.length; ++i) {
const currentVisibilityContext = visibility.show.or[i];
}
有人可以向我解釋這種行為嗎? 非常感謝你。
用var關鍵字聲明的變量不能具有“塊作用域”。
可以從塊外部訪問在{}內部聲明的變量。
例
{
var x = 2;
}
// x CAN be used here
在ES2015之前,JavaScript沒有Block Scope。
用let關鍵字聲明的變量可以具有Block Scope。
在塊{}中聲明的變量不能從該塊外部訪問:
例
{
let x = 2;
}
// x can NOT be used here
從W3schools ofc復制而沒有問題
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.