我以为我懂一点 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'