与えられたコードの出力を説明してください"" John "の代わりに印刷しますか?プログラムは厳密ではないモードで実行されています。は、コードが以下の通りである
答えて
JavaScriptにはいくつかの異なるスコープがあります。変数enameは、関数のスコープ内で作成されます。グローバルスコープ変数にアクセスするには、別の方法で呼び出す必要があります。
ローカルスコープで変数を作成したときにグローバルスコープで変数にアクセスするには、ウィンドウ{variableName}を使用して変数を呼び出す必要があります。ケースの名前は –
です。詳細を追加するための答え。あなたは常に(評判に関係なく)自分の質問や回答を編集する能力を持っています。そうしてください。 –
この回答は間違っています。関数スコープには 'ename'変数はありません。 – melpomene
makeWorker
a()
がとにかくthis
なしで呼び出された場合それでは、それが何をするかとmakeWorker
に電話を代わっ、ここでは一種の冗長です:
function a() {
this.ename = "Pete";
var work = function() {
console.log(this);
console.log(this.ename);
};
work();
}
var ename = "John";
a();
としてwork
への呼び出しを置き換えますそれは何ですか:
function a() {
this.ename = "Pete";
console.log(this);
console.log(this.ename);
}
var ename = "John";
a();
とreplac Eそれは、this
がグローバルオブジェクトであることを再度想定しないものとのa
への呼び出し:
var ename = "John";
this.ename = "Pete";
console.log(this);
console.log(this.ename);
ですから、それを印刷し、その後、"Pete"
に設定し、結果は"Pete"
で、"John"
にグローバルename
を設定します。奇妙なことはありません。これは、各割り当ては、元のコードで発生したとき、あなたが何かをログに記録するのに役立つかもしれない:
function a() {
function makeWorker() {
console.log("Setting ename to Pete");
this.ename = "Pete";
return function() {
console.log(this.ename);
};
}
var work = makeWorker();
work();
}
console.log("Setting ename to John");
var ename = "John";
a();
偉大な説明 –
あなたがmakeWorkerを実行しているように見えますし、それが変数ENAMEをオーバーライド簡単です、あなたが欠けていますグローバル変数にアクセスします。
この記事をチェックしてください。 How to access global variable in function hook in javascript?
答えの関連するすべての詳細が別のSO投稿へのリンクで提供されている場合、この質問はその投稿の複製として閉じられるべきです。あなたはそのようにフラグを立てるべきです。 –
こんにちはケン、頭のおかげでありがとう! – TheRock
- 1. は、入力が正確に以下の通りであるパイソン
- 2. は、しかし、私は、コードは以下の通りです窓
- 3. C++:STL:ベクトル:削除:デストラクタは、コードは以下の通りです
- 4. は、シナリオは以下の通りである
- 5. reactJS - 私のルータは以下の通りである別の
- 6. は、実行中の間に結果が異なり、コードは以下の通りです組込みRコード
- 7. PHP Wordpressのギャラリーでは、コードは以下の通りですXMLlファイル
- 8. がintは以下のコードでは、[]
- 9. ブートストラップは私のブートストラップ先行入力は以下の通りである約束
- 10. 非同期を使用して/私のコードは以下の通りです
- 11. 以下は、私が使用していたコードであるelasticSearch
- 12. 以下は8004(機械コード)以下
- 13. 。以下のコード
- 14. SpringBootアプリケーションは、私の質問は以下の通りですHibernateValidator
- 15. は私の問題は、以下の通りです管理者
- 16. LINQクエリは、私のクエリは以下の通りです
- 17. プログラムは私の問題は、以下の通りです
- 18. Yiiは私のURLルールは以下の通りですurlManager
- 19. teeコマンドは、スクリプトの出力は以下の通りです
- 20. MYSQLは、クエリは以下の通りです
- 21. 問題のSQL構文は以下の通りです
- 22. は、以下のコードではNSDictionaryの
- 23. は、以下の式を解くMatlabコードを書く必要があります。
- 24. リニアレイアウトは、私がフラグメントを作成し、そのXMLコードは以下の通りです
- 25. MySQLのストアドプロシージャは、以下のコードはここにあるヌル
- 26. 以下のコードでExcel VBA
- 27. スキャナは以下のコードでは列
- 28. は、以下のコードではjQueryを
- 29. C#のコード以下
- 30. curlでphpのAPIからデータベースにjsonデータを格納する方法は?コードは以下の通りです
@MiHawk:ここで吊り上げが行われていますか? – Ryan