> > From: Michael Geary > > Hector's head must be spinning by now, if he's continued to > > read this thread.
> From: RobG > I hope he(?) has, discussions are a great way get to > understand things. Very true! > Just to be clear, the term "method" is defined in ECMA-262 > section 4.2 as "a function associated with an object via a property". > > Obviously, one.alertX() is calling alertX as a method of > > the one object. > > > > Perhaps less obviously, one.alertX.call( two ) is calling > > alertX *as a method of the two object*. > That's where I disagree. In your teminology, I'd say alertX > has been called as *if it was* a method of two, rather than > as a method of two. In my language, I'd just say call sets > alertX's this keyword to two and forget the word method. That's totally reasonable. I was just using the word "method" informally in the "quacks like a duck" sense. Inside a function, what really matters is what "this" is. What we call it doesn't affect how it works. I'm perfectly happy to say that the function was called "as if it were a method" of some object, or to just avoid the term and talk about "this" instead. Thanks for keeping me on my toes, Rob. :-) -Mike