2016-11-12 109 views
0

在Javascript高級凱爾·辛普森,他說,這:這是console.log的縮寫嗎?

var foo = "bar"; 

可以這樣評價:

foo; 

而且它只是爲執行console.log一個快捷方式。

但是,當我嘗試它沒有顯示在控制檯中。

這是爲什麼?

乾杯

+2

可能是因爲凱爾辛普森錯了,或者你發佈的東西丟失了一些東西 – adeneo

+1

它本身不是一個「速記」。如果你在開發者控制檯運行它,你會看到結果'「bar」',因爲語句將被評估並返回,但就是這樣。在實際的腳本中不起作用。 – vlaz

+0

您可以在瀏覽器開發者控制檯中以這種方式進行打印,而不是提供。 –

回答

5

如果您鍵入在控制檯,然後按Enter,控制檯會告訴你的表達,這是foo價值的結果。控制檯顯示您輸入的任何表達式的結果值。在控制檯本身中,幾乎不需要輸入console.log。 (事實上​​,如果你輸入console.log(foo);到控制檯,並按下回車鍵,你會看到後面undefinedfoo的價值,因爲console.log回報undefined,因此控制檯會顯示該值。)

在代碼鍵入控制檯本身,否,foo;不是console.log(foo);的簡寫。這只是一個表達陳述坐在自己基本上什麼都不做。

+0

感謝您的解釋。 在chrome var foo =「bar」;然後在foo下面;由於某些原因,不打印該值。 –

+0

@JoeConsterdine很奇怪。我能想到這種情況的唯一原因是,如果您所在的標籤目前處於無限循環或類似情況。如果頁面上的JS無效,則開發控制檯也不起作用。 [這是當我運行它時會發生什麼](http://i.imgur.com/9ZlE3dm.png) – vlaz

+1

哦,我不好意思,當你說你不能在腳本中運行時,我明白你的意思。 我是通過我的文本編輯器,而不是在實際的控制檯。 你甚至把它放在黑體哈哈。 好酷我現在得到你。乾杯。 –

2

foo;不是console.log(foo)的簡寫。

假設在代碼中,您已經定義了一個變量var name="mrid"您必須編寫console.log(name)才能在控制檯中進行打印。但是你可以在控制檯上直接鍵入name,它會打印它的值。

+0

這不適用於所有的全局變量嗎? – mrid

相關問題