2017-04-23 10 views
0

上記のコードはグローバル変数を作成するようです。次のコードはJavaScriptでグローバル変数を作成しますか?

+0

コンソールログステートメントは何を返しますか?私は何も考えていないか、または定義されていない。あなたは 'console.log(user1.name);が必要です;と私は信じています。 – jsw324

+0

いいえ)この行 'Console.log(this.name);'を削除します。 – Smiranin

+0

'name'は、ブラウザによって事前に定義された[' window.name'](https://developer.mozilla.org/en-US/docs/Web/API/Window/name)を参照する必要があります。 'User'が' new'なしで呼び出された場所にあった場合、 'User'がグローバルプロパティを変更した可能性があります。 https://jsfiddle.net/75nLq957/ –

答えて

-1

Nope!あなたの変数はfunctionの中で宣言されているからです。

+0

しかし、変数がどこにあっても 'var'キーワードなしで宣言されていれば、グローバル変数になると思いました。 –

+0

@TuanLe以前に未知の変数を割り当てると、それはグローバルを作成するときです。 'this'キーワードとその値は' function'に束縛されています。ただし、プロパティの割り当ては、スコープ(ローカルまたはグローバル)ではなく特定のオブジェクトを変更します。 –

+0

ここにあなたの関数がオブジェクトを構築します。新しく作成されたオブジェクトインスタンス 'user1'は、グローバルにアクセスできます。 –

関連する問題