Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/394.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript JS原型,创建具有新功能的对象_Javascript_Constructor_Prototype - Fatal编程技术网

Javascript JS原型,创建具有新功能的对象

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

我刚从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-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);