Javascript-新函数(){…}vs{}
如果要创建唯一的对象,并且是唯一最好使用的实例,请执行以下操作:Javascript-新函数(){…}vs{},javascript,syntax,Javascript,Syntax,如果要创建唯一的对象,并且是唯一最好使用的实例,请执行以下操作: var obj = new function() { this.x = 200; this.y = 100; }; 或 AFAIK new的好处是您可以做以下事情: var obj = new function() { this.x = 300; this.y = x - 50 }; 这是您无法使用的: var obj = { x: 300, y: x - 50 // undefined } 这样怎么
var obj = new function() {
this.x = 200;
this.y = 100;
};
或
AFAIK new的好处是您可以做以下事情:
var obj = new function() {
this.x = 300;
this.y = x - 50
};
这是您无法使用的:
var obj = {
x: 300,
y: x - 50 // undefined
}
这样怎么样
var obj = {
init: function() {
this.x = 300;
this.y = this.x - 50;
return this;
}
}.init();
使用对象文字。可以在对象外部声明
x
和y
。上一个例子中的表达式会起作用。在重复的问题旁边,请看也很酷,我从来没有想到过这样的事情,所以你可以说这样更好,因为它支持早期版本的JS,不支持new
操作符,但是它快吗?@Murplyx比什么快?你用过几千次吗?我不认为差别会很大。@Murplyx:js的任何版本都不支持new
。但是new
所做的事情与您所想的完全不同(这个答案中类似的对象上的init
方法是类似的,但至少是明确的),但这并不能真正解决问题,不是吗?
var obj = {
init: function() {
this.x = 300;
this.y = this.x - 50;
return this;
}
}.init();