我在这里读了一篇文章: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