我有以下 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
函数时,我收到错误“未定义喵”(我在MakeNoise
函数中尝试的四件事中的任何一件)。
我也尝试过这样的原型设计,但这给了我同样的错误:
Cat.prototype.Meow = function (sound) {
return this.Meow(sound);
}
我确信这有一个非常简单的解决方案,但我不知道如何成功调用Meow
“Cat”类的函数。我怎样才能做到这一点?
顺便说一句,这种架构是否有意义?我的意图是拥有Kick
和Meow
作为公共职能,并MakeNoise
作为私人。