![](/img/trans.png)
[英]How to define the prototype of an object in a constructor in JavaScript?
[英]Javascript - How to define a Constructor
我有一个这样的对象:
Object1.prototype = {
isInit: false,
Get : function (){}
}
现在我想添加一个带有一个参数的构造函数。 我该怎么做?
类声明
var User = function(name, age) { // constructor
}
User.prototype = {}
实例变量(成员)
var User = function(name, age) {
this.name = name;
this.age = age;
}
User.prototype = {}
静态变量
var User = function(name, age) {
this.name = name;
this.age = age;
}
User.prototype = {
staticVar: 15,
anotherStaticVar: 'text'
}
这里我定义了两个静态变量。 每个用户实例都可以访问这两个变量。 注意,我们可以用值初始化它;
实例函数(方法)
var User = function(name, age) {
this.name = name;
this.age = age;
}
User.prototype = {
getName: function() {
return this.name;
},
setName: function(name) {
this.name = name;
}
}
用法示例:
var user = new User('Mike', 29);
user.setName('John');
alert(user.getName()); //should be 'John'
静态功能
var User = function(name, age) {
this.name = name;
this.age = age;
}
User.create = function(name, age) {
return new User(name, age);
}
User.prototype = {}
假设“ctor”是指“构造函数”,在JavaScript中只是一个函数。 在这种情况下,你的构造函数本身需要是“Object1” - 换句话说,如果已经将“Object1”定义为函数,那么你所拥有的就是有意义的。
从而,
function Object1(param) {
// constructor code
}
将是您的类型的构造函数。
现在有一些JavaScript库提供了用于定义类的实用程序层。 有了这些,你通常会传递一些包含“init”函数的对象(就像你已经拥有的那样)。 这些库提供了用于创建“类”和从一个类扩展另一个类的API。
Javascript具有基于原型的对象模型。 检查这个mozilla wiki页面 ,突然你会在js land感觉好多了。
我们可以在javaScript中定义一个构造函数和我们的函数一样,所以构造函数只是一个函数。
//function declaration
function func(){}
在Contructor的情况下我们在构造中使用大写字母的首字母
//constructor
function Func(){}
现在用你的构造函数做你想做的事
var constructor1 = new Func();
class CLASS_NAME
{
private:
int variable;
public:
CLASS_NAME() //constructor
{
variable = 0;
}
};
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.