Javascript JS原型,创建具有新功能的对象
我刚从JS开始,我为一个盒子创建了一个构造函数。现在我想要一个可以存储图像的盒子和一个可以存储文本的盒子。如何使用prototype声明新的长方体对象 //箱式构造器Javascript JS原型,创建具有新功能的对象,javascript,constructor,prototype,Javascript,Constructor,Prototype,我刚从JS开始,我为一个盒子创建了一个构造函数。现在我想要一个可以存储图像的盒子和一个可以存储文本的盒子。如何使用prototype声明新的长方体对象 //箱式构造器 function Box(x, y, w, h) { this.x = x; this.y = y; this.w= w; this.h= h; } //图像框功能: this.src = .... this.title = ... this.font = ... this.font-siz
function Box(x, y, w, h) {
this.x = x;
this.y = y;
this.w= w;
this.h= h;
}
//图像框功能:
this.src = ....
this.title = ...
this.font = ...
this.font-size=...
this.color=....
//文本框功能:
this.src = ....
this.title = ...
this.font = ...
this.font-size=...
this.color=....
Box.prototype.src=“”;等等…Box.prototype.src=“”;等等……谢谢,这是一个快速的回答@amNotIam,我来看看@武武:不客气。我只是将它改为使用
.call
而不是.apply
,这样就可以传递各个参数。我感觉您的TextBox
和ImageBox
构造函数将被传递更多不需要发送的参数。那么,我如何定义一个包含7个参数的TextBox,或者新TextBox的语法是什么样的?(对不起,我是新的)@vuvu:只需在现有参数之后添加其他参数即可。然后,要创建一个新的文本框
,只需在调用之前使用new
调用函数即可var tb=new TextBox(0,0,100,100,“foo-font”,“12px”,“maroon”)
@amnotiam您可以使用apply并传递arguments关键字(即接收到的参数数组)。这种方式更灵活谢谢,这是一个快速的回答@amNotIam,我来看看@武武:不客气。我只是将它改为使用.call
而不是.apply
,这样就可以传递各个参数。我感觉您的TextBox
和ImageBox
构造函数将被传递更多不需要发送的参数。那么,我如何定义一个包含7个参数的TextBox,或者新TextBox的语法是什么样的?(对不起,我是新的)@vuvu:只需在现有参数之后添加其他参数即可。然后,要创建一个新的文本框
,只需在调用之前使用new
调用函数即可var tb=new TextBox(0,0,100,100,“foo-font”,“12px”,“maroon”)
@amnotiam您可以使用apply并传递arguments关键字(即接收到的参数数组)。这种方式更灵活
function TextBox(x, y, w, h) {
Box.call(this, x, y, w, h); // Apply Box function logic to new TextBox object
this.font = ...
this.font-size =...
this.color =....
}
// Make all TextBox object inherit from an instance of Box
TextBox.prototype = Object.create(Box.prototype);