2016-06-13 9 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"と表示されます。

グローバル変数はBad Thing™なので、通常は関数内に物事を入れようとします。その場合、変数を使用する場合は、関数内にブレークポイントを設定し、関数を呼び出すために何か操作を行い、を次にコンソールにアクセスさせる必要があります。そのプロセスはthis answerに記載されています。

+0

thanks答えのために。変数はグローバルスコープで宣言されますが、コンソールにhelloと入力すると、定義されていないというエラーが表示されます。ここで起こりうる問題は何か知っていますか? – Xiangyu

+0

@Xiangyu:グローバルスコープで宣言されていないことがわかります。それまたはコード行は決して実行されません。グローバルスコープで宣言され、コード行が実行されると、コンソールは '' hello world ''を表示します。 –

+0

変数は関数の外で宣言されているので、グローバルです。この部分は正しいですか?問題はコード内にconsole.log(hello)という行があり、コンソールには "hello world"という文字が表示されます。つまり、変数にアクセスできます。あなたが言ったようにhelloをタイプしたときに、helloが定義されていないというエラーが表示されます。 – Xiangyu

関連する問題