面向对象Javascript
这是我第一次尝试oo javascript:面向对象Javascript,javascript,oop,Javascript,Oop,这是我第一次尝试oo javascript: function GuiObject() { this.x = 0; this.y = 0; this.width = 0; this.height = 0; this.parent = null; this.children = []; this.getWidth = function() { return this.width; }; this.getHeight = function()
function GuiObject() {
this.x = 0;
this.y = 0;
this.width = 0;
this.height = 0;
this.parent = null;
this.children = [];
this.getWidth = function()
{
return this.width;
};
this.getHeight = function()
{
return this.height;
};
this.paint = function(ctx)
{
};
};
function paintGui(ctx, root)
{
ctx.save();
ctx.translate(root.x, root.y);
root.paint(ctx);
for (int i=0; i<root.children.length; ++i)
{
paintGui(ctx, root.children[i]);
}
ctx.restore();
};
函数GuiObject(){
这个.x=0;
这个。y=0;
这个宽度=0;
这个高度=0;
this.parent=null;
这是:children=[];
this.getWidth=函数()
{
返回这个.width;
};
this.getHeight=函数()
{
返回此参数。高度;
};
this.paint=函数(ctx)
{
};
};
函数paintGui(ctx,root)
{
ctx.save();
ctx.translate(root.x,root.y);
根涂料(ctx);
对于(inti=0;i来说,如果不查看实际构造GuiObject
的代码,就很难说您的实际问题是什么,但是为了它的价值,这里有一个更好的方法来编写“类”
function GuiObject() {
this.x = 0;
this.y = 0;
this.width = 0;
this.height = 0;
this.parent = null;
this.children = [];
}
GuiObject.prototype.getWidth = function()
{
return this.width;
};
GuiObject.prototype.getHeight = function()
{
return this.height;
};
GuiObject.prototype.paint = function(ctx)
{
};
通过这种方式,每个实例都可以共享相同的方法。另一种方式是,为创建的每个实例创建新的函数对象。在构造函数中定义方法而不是将其附加到原型的唯一原因是,如果它们需要访问从未附加到这
如果不查看实际构造GuiObject的代码,就很难说出您的实际问题是什么,但考虑到它的价值,这里有一个更好的方法来编写“类”
function GuiObject() {
this.x = 0;
this.y = 0;
this.width = 0;
this.height = 0;
this.parent = null;
this.children = [];
}
GuiObject.prototype.getWidth = function()
{
return this.width;
};
GuiObject.prototype.getHeight = function()
{
return this.height;
};
GuiObject.prototype.paint = function(ctx)
{
};
通过这种方式,每个实例都可以共享相同的方法。另一种方式是,为创建的每个实例创建新的函数对象。在构造函数中定义方法而不是将其附加到原型的唯一原因是,如果它们需要访问从未附加到这个
inti
?那在Javascript中应该是什么意思?我想你指的是var i
顺便说一句,和所有其他回应的人一样,我看了你的代码,没有立即发现。然后我做的是将你的函数复制/粘贴到Javascript控制台,并逐渐删除行,直到它停止抱怨。尝试一点点Javascript是一种有用的技术。int I
?这是什么支持sed在Javascript中是什么意思?我想你指的是vari
顺便说一句,和所有其他回应的人一样,我查看了你的代码,没有立即发现。然后我做的是将你的函数复制/粘贴到Javascript控制台,并逐渐删除行,直到它停止抱怨。尝试一点点Javascript是一种有用的技术。Hmmm,“一个错误”你说?也许你做错了什么?:)是的,我同意。这肯定是错的。我们能看看“根”(paintGui上的第二个参数)是如何创建的吗?嗯,你说的“一个错误”?也许你做错了什么?:)是的,我同意。这肯定是错的。我们能看看“根”(paintGui上的第二个参数)是如何创建的吗创造了什么?