私は何かに気付き、周りを遊んでいる間に簡単な質問をしました。Javascript:グローバルコンテキストと関数のコンテキスト宣言
グローバル/ウィンドウコンテキストでコードを実行すると、関数宣言がウィンドウオブジェクトにメソッドとして追加されます。
しかし、私が別のオブジェクトのコンテキストにいるとき、関数宣言を書くことは、そのメソッドを自分のオブジェクトメソッドに追加しません。
function functionInGlobalCtx() { // This will be added as a function to the window object
// code...
}
var myObject = {};
myObject.myObjectFunction = function() {
var $this = this; // The context here is the 'myObject' object
function functionHopefullyInMyObjectCtx() {
// code...
}
}
myObject.myObjectFunction();
なぜ関数宣言はウィンドウオブジェクトの一部として存在しますが、オブジェクトのためのものではありませんか?
これは単純に「JavaScriptがどのように機能するか」(特別なルールはグローバルコンテキストに適用されますか)ですか、何か不足していますか?
ありがとうございました。