私はjavascriptに関するいくつかの新しい概念を学ぼうとしています.Hereは私が書いた簡単なコードです. 関数内の THIS キーワードは、別のオブジェクトのコンテキストにバインドされていない限り、window であるグローバル オブジェクトを参照します。オブジェクト内には 2 つのメソッドがあり、それぞれ と とmyobj
呼ばれる別の 2 つのグローバルにアクセス可能な関数と同じ名前を共有しています。myobj コンテキスト内でこれらのグローバル関数にアクセスしたいのですが、もちろん、それらを呼び出すために使用したすぐに呼び出される関数にバインドするグローバルオブジェクトを使用する必要はありません。しかし、それはエラーを投げています。私の質問は、JavaScriptのすべてがオブジェクトであり、ウィンドウオブジェクトがそれらを保持している場合、またはを使用してこれらの関数にアクセスできるのはなぜですか?afunc
anotherfunc
this.afucn
window.afunc
(function(){
var afunc=function (){
document.write('this is world'+'</br>');
}
var anotherfunc=function (){
document.write('this is another world');
}
var myobj={
afunc:function(){
document.write('afunc');
},
anotherfunc:function(){
document.write('anotherfunc');
},
context:function(){
(function(){
this.afunc();
this.anotherfunc();
})();
}
};
myobj.context();
})();