私は JavaScript を少し知っていると思っていましたが、変数からメソッドを実行すると、これが変わることに気付きました。これに関する情報を見つけようとしましたが、ほとんどの記事では、呼び出し、適用、バインド、イベント ハンドラー/コールバックなどについて説明しています。
var dog = {
bark: function(){
console.log('woof');
},
speak: function(){
this.bark();
}
};
// Test 1
dog.speak(); //woof
// Test 3
var speak = dog.speak
speak(); //TypeError: Object #<Object> has no method 'bark'