2017-08-09 18 views
0

我使用MDN guide來學習JS,我用scratchpad來嘗試一些例子。JS和Firefox暫存器

如果我寫

console.log('The value of b is ' + b); 
var b; 

爲什麼說的console.log 「B的值是-1」?!它應該是未定義的

+0

在哪一頁是你打開便箋?它可能確實定義了一個全局變量,其值爲'-1'。請注意,當你拿走'var b;'聲明時,輸出不會改變(或者是否?)。 – Bergi

+0

你是對的,即使當我刪除var b時也是如此; 我用Firefox打開它 –

+0

是的,Firefox,但是你沒有打開任何標籤?也可以試一下'console.log(window)'並告訴我們你得到的結果 – Bergi

回答

0

也許你在之前定義了值-1

如果你嘗試上面的代碼,你會看到,如果變量已經實例化,並且如果你再次聲明變量而沒有給它們設置任何值,那麼變量就不會被實例化。

var b = -1; 
 
console.log(b) 
 
var b; 
 
console.log(b)

+0

你是對的,我同意你的意見,但是我沒有任何代碼可以讓b = -1! 看看圖片:https://ibb.co/jzkNwa –

+0

您是否嘗試關閉瀏覽器並再次打開它?有時候,當你在控制檯中測試某些東西時,即使刷新了瀏覽器,變量也會在內存中被屏蔽 –

+0

是的,結果相同:( –