在JavaScript中,我想知道
是
与任何不同
new
是否有什么特殊之处,或者它只是call()
的语法糖。如果我有一个构造函数如下:function Person ( name, age ){
this.name = name;
this.age = age;
}
是
var bob = new Person( "Bob", 55 );
与任何不同
var bob;
Person.call( bob = new Object(), "Bob", 55 );
?
Person.call( bob = Object.create(Person.prototype), "Bob", 55 );
。这是语法糖吗?这可能取决于你如何定义它。在早期的JS版本中,Object.create
是不可用的。 - Felix Kling