2010-05-26 102 views
1
一個問題

我使用這個簡單的代碼:http://ejohn.org/blog/simple-javascript-inheritance/
使用這個「圖書館」,我做了這個簡單的類:約翰Resig的簡單的JavaScript繼承

var Person = Class.extend({ 
    init: function(openningSentence) { 
    this.say(openningSentence); 
    }, 

    say: function(words) { 
    alert(words); 
    } 
}); 

這一類的問題,是我不能使用變量「this」調用函數(代碼中的第3行給出錯誤:未知方法「say」)。

有沒有人知道如果有這個問題的解決方案?
順便說一句 - 我使用jQuery,所以如果有一個基於jQuery的解決方案,它將是偉大的:)

+0

這與jQuery完全沒有關係。 – Pointy 2010-05-26 19:06:01

回答

0

哦,這突然奏效。但在我的真實課堂上(不是測試),它不起作用:P

+0

我會盡力解決我的真實課堂。感謝那些試圖幫助的人! – 2010-05-26 19:08:14

0

你是如何調用函數?

var p = new Person(); 

這是否會給你錯誤?

+0

這裏不是嗡嗡聲,但是這不應該是一個評論嗎? – 2010-05-26 19:03:39

+0

那麼他留下了很多問題,所以它的目的是作爲一個*潛在的答案。 – Pointy 2010-05-26 19:05:25

+0

@安迪,不一定。後續問題的答案看起來可能是正確的答案。 – eyelidlessness 2010-05-26 19:06:10

2

這裏是一個簡短的自包含示例 - http://jsfiddle.net/JgMFE/。你可以看到,它工作正常使用您所提供沿代碼:

(new Person("Hello")); 

它告誡「你好」,正如預期。

+2

是的,它的作品,謝謝。我寫這個問題時可能是醉了:( – 2010-05-26 19:12:48