簡體   English   中英

Chrome調試器顯示錯誤值

[英]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復制而沒有問題

太奇怪了 當控制台代碼段被觸發時,我得到了這個。 在此處輸入圖片說明

能見度的任何屬性, observable屬性(例如KO可觀察的)是否是偶然的。 調試器可能進入了可觀察的屬性,即功能,超出了范圍。 由於所有內容都在一行中,因此您可以看到調試器正在執行單個命令。 請嘗試將線分成多行,以查看其行為。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM