【发布时间】:2023-04-07 00:40:01
【问题描述】:
您可以通过多种方式在 JavaScript 中创建对象:
// creates an object which makes the Object, prototype of data.
var data1 = new Object();
// Object literal notation; Object still is the prototype of data2.
var data2 = {};
// anotherObject is now the prototype of data3.
var data3 = Object.create(anotherObject);
/* data3 is an object which can be verified bye typeof operator,
however, it now has no prototype and you can
build everything from scratch. */
var data3 = Object.create(null);
但是不知道哪个版本的IE支持最后一种方法,即Object.create(null)方法?
【问题讨论】:
-
那么使用内联对象初始化器
{}或对象构造器new Object()怎么样,不要因为IE 特定的行为而浪费时间? -
@Matias,我想要一个没有原型的对象。
{}或new Object()无法实现这一目标。 -
在 JavaScript 中你不能有一个没有原型的对象,因为这个脚本语言中对象的原型是原型! :D JavaScript 不是 OOP,它是“面向原型的”。
-
@Matias, turns out that you can,这正是我想要的。将
null作为我的对象的原型,或者换句话说,根本没有原型。
标签: javascript javascript-objects object-create