2016-06-13 64 views
-5

這是一個JavaScript的問題...當我宣佈我的變量是這樣的:我怎樣才能使我的瀏覽器控制檯訪問JS變量

var hello = "hello world"; 
console.log(hello); 

瀏覽器可以編譯代碼並打印「你好」 。

但是,當我在控制檯內呼叫console.log(hello)時,它表示hello變量未定義。我如何在控制檯中訪問hello變量?

example

+0

'console.log(hello)'與'console.log(「hello」)'不一樣。在JavaScript中總是把你的字符串放在雙引號中'''' – GaijinJim

+2

發佈代碼**,而不是*圖片*的代碼。 –

+0

@GaijinJim:這就是問題的關鍵,'hello'是一個變量。 –

回答

1

如果你不是在調試器中斷點停止,控制檯只能訪問全球變量(任何函數之外聲明的變量)。您的圖片沒有給出任何上下文,但是如果var hello = "hello world";線位於全局範圍內,請在控制檯中輸入hello並按Enter鍵將顯示"hello world"

全局變量是一個壞事™,所以通常我們試圖包含功能內的東西。在這種情況下,如果你想使用這個變量,你必須在函數中設置一個斷點,做一些事情來調用這個函數,然後控制檯將有權訪問它。該過程在this answer中描述。

+0

謝謝爲答案。該變量是在全局範圍聲明的,但是當我在控制檯中輸入hello時,它有一個錯誤,說它是未定義的。你知道這裏有什麼可能的問題嗎? – Xiangyu

+0

@Xianggyu:我相當肯定你會發現它沒有在全局範圍內聲明。這或代碼行永遠不會運行。如果它在全局範圍聲明,並且代碼行已經運行,控制檯將顯示''hello world''。 –

+0

該變量是在任何函數之外聲明的,所以它是全局的,這部分是否正確?問題是,在代碼中,我有console.log(hello)行,並且控制檯打印出「hello world」,這意味着它可以訪問變量。但是當我按照你所說的方式輸入hello時,它會提示錯誤,提示hello未定義 – Xiangyu

相關問題