0
這裏面(公共)功能,我有以下的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
功能「貓」級課程。我怎樣才能做到這一點?
另外,這個架構是否有任何意義呢?我的意圖是將Kick
和Meow
作爲公共職能,MakeNoise
作爲私有。
穆薩的回答就可以了,但是我鼓勵你看看下面的文章,有關「這個」和範圍更多的解釋。 https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Operators/這個 – gerges
@gerges感謝您的鏈接。我認爲(看起來不正確)這是指當前對象。 – Mansfield