如何将属性添加到";新的";例如
How do I add properties to a "new" instance?
如何将属性添加到new function
的实例?
例如:
function Constructor() {
this.color = "red";
}
var s = new Constructor() {
this.color = "blue";
this.height = 30px;
}
当调用s.height
时,我得到一个未定义的结果。如何正确执行?
function Constructor() {
this.color = "red";
}
var s = new Constructor();
s.color = "blue";
s.height = 30px;
这是一个语法错误。new Constructor()
调用后面不应该跟大括号,并且应该直接引用新实例。此外,构造函数定义需要function
关键字
function Constructor() {
this.color = "red";
}
var s = new Constructor()
s.color = "blue";
s.height = 30px;
这实际上取决于你想做什么。
如果在您的示例中,s
是Constructor
的唯一具有属性height
的实例,则执行以下操作:
function Constructor() {
this.color = "red";
}
var s = new Constructor()
s.height = 30px;
如果您想将height属性添加到Constructor
的所有实例,请这样做:
function Constructor() {
this.color = "red";
}
Constructor.prototype.height = 30px;
var s = new Constructor();
如果你想要一个新的具有高度的Constructor
能够被实例化,那么就这样做:
function Constructor() {
this.color = "red";
}
function ConstuctorWithHeight(){
this.height = 30px;
}
ConstuctorWithHeight.prototype = new Constructor();
var s = new ConstuctorWithHeight();
function Constructor(options){
for(var key in options){
this[key] = options[key];
}
}
var s = new Constuctor({color: "red",height: "30px"});
或
function Constructor(color,height){
this.color = color;
this.height = height;
}
var s = new Constuctor("red","30px");
相关文章:
- 创建一个类似链接的按钮,并通过Javascript函数打开一个新的弹出窗口
- Firebase迁移-简单的Firebase.set没有'不再工作了——旧的还是新的
- 使用jquery将mysql数据获取到新的表行中
- 操作员”;新的“;根据我想在几个JavaScript文件中使用的类,在JavaScript中使用
- Javascript 新的 Array 和 join() 方法
- javascript处理一个对象数组以获得一个新的对象数组
- 两个指令创建新的继承的和隔离的作用域-元素得到哪个
- 一次又一次地在新的和相同的选项卡中打开一个url
- 为什么要做新的.Date()与new相差1小时.日期().到ISOString()
- 为什么我们在ES2015中需要一个新的for循环结构,而我们已经有了for、forEach
- 可以在Javascript中添加新的关键字吗
- 在编译阶段后创建新的DOM树,或者继续使用原始修改的DOM
- 如何通过Primefaces3.5使用JSF2.0验证并在成功的情况下打开一个新的选项卡
- "无法识别的表达式“;在新的表单字段中
- Parse.com Cloud Code beforeSave()错误:"未捕获尝试用指向新的未保存对象的指针
- "$(文件);在事件stopPropagation之后不触发$(a) 在“;而不触发新的元素
- JS:有一个新的运算符"=>&”;
- 超链接在新的文档窗口中返回JSON.我希望它回到一个变量,比如response"
- HTML嵌入的PDF所有链接覆盖在一个新的选项卡中打开(target="_blank")
- AngularJS不"引导程序”;新的DOM元素