如何向 JavaScript 中的构造函数添加属性?例如。如果我有以下功能。
function Hotel(name)
{
this.name = name;
};
var hotel1 = new Hotel('Park');
Run Code Online (Sandbox Code Playgroud)
我可以添加一个“本地”变量,该变量可以在类中本地使用,就好像它是私有的,使用关键字“this”使用相同的符号。当然它不会是私有的,因为创建的对象将能够正确使用它?
我可以做这样的事情吗?我是使用this关键字还是使用var关键字是哪一个?我在底部的函数构造函数上有示例 2
1. var numRooms = 40;
2. this.numRooms = 40;
3. numRooms : 40,
function Hotel(name)
{
this.name = name;
this.numRooms = 40;
};
Run Code Online (Sandbox Code Playgroud)
我知道如果我想要在对象构造函数中使用函数,我需要使用这个this词。正如我上面所问的那样,这对于普通变量也同样有效吗?
function Hotel(name)
{
this.name = name;
this.numRooms = 40;
this.addNumRoomsPlusFive = function()
{
return this.numRooms + 5;
}
};
Run Code Online (Sandbox Code Playgroud)
通常它是使用闭包执行的:
var Hotel = (function() {
var numrooms=40; // some kind of private static variable
return function(name) { // constructor
this.numrooms = numrooms;
this.name = name;
};
}());
var instance = new Hotel("myname");
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1333 次 |
| 最近记录: |