rog*_*oom 5 javascript constructor prototype module-pattern
在javascript中使用模块模式时应该如何定义构造函数(如果有的话).我希望我的构造函数适合标准模块模式而不是全局模式.
为什么这样的东西不起作用,是完整的,完全是胡说八道?
var HOUSE = function() {
return {
Person: function() {
var self = this;
self.name = "john";
function name() {
return self.name;
}
}
};
}();
var me = new HOUSE.Person();
alert(me.name());
Run Code Online (Sandbox Code Playgroud)
您需要将该方法取出来,并将其附加到 Person 原型上。但是,当您这样做时,您将拥有一个 name 属性和一个 name 方法,这将不起作用,因此请考虑重命名后者
HOUSE.Person.prototype.getName = function(){
return this.name;
}
Run Code Online (Sandbox Code Playgroud)
或者,您可以将其附加到this,并使 getName 成为特权方法:
Person: function() {
this.name = "john";
this.getName = function() {
return this.name;
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1821 次 |
| 最近记录: |