次のコードを見てください。
function person(name){
this.name = name;
this.say = function(){
alert(this.name);
}
};
Main = {};
Main.person1 = new person("p1");
Main.person2 = new person("p2");
Main.person3 = new person("p3");
executeSay = function(argument1){
//Implementation
}
すべきexecuteSay
ことは、指定された引数の say メソッドを呼び出すことです。どうなるかわかりませんが、この方法executeSay("person1")
で実行する必要がMain.person1.say()
あります。メソッドでこれを達成できると思いますがcall
、実装についてはわかりません。
次のアプローチを提案しないでください
say = function(){
alert(this.name);
}
say.call(Main.person1);