私は JavaScript のスキルを磨こうとしていますが、関数を呼び出すには 4 つの基本的な方法があることを認識していますthis
。私が興味を持っているのは、基本的な2つです。
- 関数としての呼び出し
- メソッドとしての呼び出し
それは結構です。1 つ目は、オブジェクトthis
を参照します。window
function doSomething() {
console.log(this);
}
doSomething(); // window is logged
2 つ目this
は、内部から実行されているオブジェクトを参照します。
var t = {
doSomething: function () {
console.log(this);
}
};
t.doSomething(); // t is logged
それはすべて問題ありません。しかし、これら 2 つの呼び出しメソッドでthis
は、メソッドが含まれているオブジェクトを常に返すというのは正しいでしょうか (それが理にかなっている場合)。
最初の例でdoSomething()
は、 は実際にはオブジェクト内で定義されています。オブジェクトを定義 (または参照) しなくてもwindow
、オブジェクトのプロパティです。window
したがって、実際には、関数としての呼び出しはメソッドとしての呼び出しであるとは言えませんか? か否か?