A
Andy Fish
Hi,
I'm trying to figure out how to invoke a method on an object given the
object and the method name. For example, here's a simple object with a
method:
function MyObj (pName, pDesc) {
this.name = pName;
this.desc = pDesc;
MyObj.prototype.foo = function() {
return this.name + " - " + this.desc;
}
}
and here is some sample code to manipulate it.
var o1 = new MyObj("nn", "dd");
var s1 = o1.foo();
The assignment to s1 invokes the foo method and gets back the string "nn -
dd" as expected. now I try to find the foo method by it's name:
var funcName = "foo";
var theFunc = o1[funcName];
var s2 = theFunc();
the assignment to s2 invokes the function OK, but not in the context of the
object. can someone tell me how to invoke a function as a method?
Andy
I'm trying to figure out how to invoke a method on an object given the
object and the method name. For example, here's a simple object with a
method:
function MyObj (pName, pDesc) {
this.name = pName;
this.desc = pDesc;
MyObj.prototype.foo = function() {
return this.name + " - " + this.desc;
}
}
and here is some sample code to manipulate it.
var o1 = new MyObj("nn", "dd");
var s1 = o1.foo();
The assignment to s1 invokes the foo method and gets back the string "nn -
dd" as expected. now I try to find the foo method by it's name:
var funcName = "foo";
var theFunc = o1[funcName];
var s2 = theFunc();
the assignment to s2 invokes the function OK, but not in the context of the
object. can someone tell me how to invoke a function as a method?
Andy