私は次のJavaScriptを持っています:(JSFiddle)
$(function () {
function Cat()
{
this.Meow = function (sound) {
alert("Meow: " + sound);
}
this.Kick = function () {
MakeNoise();
}
var MakeNoise = function () {
Meow("noise");
//Cat.Meow("noise");
//self.Meow("noise");
//this.Meow("noise");
}
}
var c = new Cat();
c.Kick();
});
関数を呼び出すと、Kick
「Meow is notdefined」というエラーが表示されます(MakeNoise
関数で試した4つのことのいずれかで)。
私もそのようにプロトタイピングを試みましたが、それは私に同じエラーを与えました:
Cat.prototype.Meow = function (sound) {
return this.Meow(sound);
}
Meow
これには非常に簡単な解決策があると確信していますが、「Cat」クラスの関数を正常に呼び出す方法がわかりません。これどうやってするの?
余談ですが、このアーキテクチャはまったく意味がありますか?私の意図は、公的機能として、そして私的機能として持つことKick
でしMeow
たMakeNoise
。