2016-06-13 42 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

相关问题