这是一个JavaScript的问题...当我宣布我的变量是这样的:我怎样才能使我的浏览器控制台访问JS变量
var hello = "hello world";
console.log(hello);
浏览器可以编译代码并打印“你好” 。
但是,当我在控制台内呼叫console.log(hello)
时,它表示hello
变量未定义。我如何在控制台中访问hello变量?
这是一个JavaScript的问题...当我宣布我的变量是这样的:我怎样才能使我的浏览器控制台访问JS变量
var hello = "hello world";
console.log(hello);
浏览器可以编译代码并打印“你好” 。
但是,当我在控制台内呼叫console.log(hello)
时,它表示hello
变量未定义。我如何在控制台中访问hello变量?
如果你不是在调试器中断点停止,控制台只能访问全球变量(任何函数之外声明的变量)。您的图片没有给出任何上下文,但是如果var hello = "hello world";
线位于全局范围内,请在控制台中输入hello
并按Enter键将显示"hello world"
。
全局变量是一个坏事™,所以通常我们试图包含功能内的东西。在这种情况下,如果你想使用这个变量,你必须在函数中设置一个断点,做一些事情来调用这个函数,然后控制台将有权访问它。该过程在this answer中描述。
谢谢为答案。该变量是在全局范围声明的,但是当我在控制台中输入hello时,它有一个错误,说它是未定义的。你知道这里有什么可能的问题吗? – Xiangyu
@Xianggyu:我相当肯定你会发现它没有在全局范围内声明。这或代码行永远不会运行。如果它在全局范围声明,并且代码行已经运行,控制台将显示''hello world''。 –
该变量是在任何函数之外声明的,所以它是全局的,这部分是否正确?问题是,在代码中,我有console.log(hello)行,并且控制台打印出“hello world”,这意味着它可以访问变量。但是当我按照你所说的方式输入hello时,它会提示错误,提示hello未定义 – Xiangyu
'console.log(hello)'与'console.log(“hello”)'不一样。在JavaScript中总是把你的字符串放在双引号中'''' – GaijinJim
发布代码**,而不是*图片*的代码。 –
@GaijinJim:这就是问题的关键,'hello'是一个变量。 –