我知道在 Javascript 中我们可以创建对象实例,例如
var ins = new myObject();
我知道,窗口,文档等是JavaScript中预定义的对象。我们可以创建这些对象的新实例吗?
例如:
Is
var inss = new document();
可能的?
不要混淆objects with 构造函数 (or classes在大多数 OOP 语言中)。在 JavaScript 中,您可以通过调用构造函数来创建对象new
操作员:
function MyObject()
{
}
var obj = new MyObject();
之后,您可以使用给定对象访问构造函数constructor
财产:
var ctor = obj.constructor; // (ctor === MyObject) will be true
理论上,您可以创建与给定对象相同类型的新对象:
var obj1 = new MyObject();
var obj2 = new obj1.constructor();
在您的情况下,您可以尝试对“内置”对象进行相同的操作,但它可能不起作用,因为脚本引擎可能会禁止它。例如,Chrome 会抛出TypeError: Illegal constructor
当尝试使用创建新文档时new document.constructor()
。这是因为document
的构造函数,HTMLDocument
,并不意味着可以直接使用。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)