我在這裏讀了一篇文章:JavaScript對象創造模式
http://javascriptweblog.wordpress.com/2010/03/16/five-ways-to-create-objects/
它講述了約五創建對象的方式。但我的問題是他的方式一(3):
myApp.Notepad = function(defaultFont) {
var that = {};
that.writeable = true;
that.font = defaultFont;
that.setFont = function(theFont) {
that.font = theFont;
}
return that;
}
myApp.notepad1 = myApp.Notepad('helvetica');
按作者,我們可以使用它時,多個實例需要,我們可以使用從3(以上)的任何圖案以5
但據我所知,我們確實需要使用this
關鍵字,它反映了新創建的實例,並且僅指那個實例。但是,以上,作者使用that
對象而不是this
,並且上面沒有使用new
關鍵字。它將如何應用於多個對象實例?它是否與使用this
相同?
感謝,但我知道什麼是優勢,使用'that'對象,而不是使用'this'構造方法的? – Dev555 2012-02-21 05:49:36
@ Dev555 - 這只是一種不同的(圍繞)「構建」對象的方式。我不知道它是否有優勢,但微妙之處在於'setFont'函數使用閉包,而不是引用'this'對象。 'setFont'使用在其外部定義的那個''''。從語法上講,它稍微不清楚它在做什麼,因爲它會對'new'運算符進行旁路操作。 – Seth 2012-02-21 06:05:00
@Seth:這就是混亂,等待事情得到澄清。謝謝 – Dev555 2012-02-21 06:10:35