Javascript:构建对象

Javascript:构建对象,javascript,Javascript,我有点不懂javascript,但我有一个总的问题一直困扰着我。让我们举一个例子: 如果我跳进Chrome上的JS控制台,我可以轻松浏览窗口对象窗口似乎列出了很多“类类型”,可以这么说。例如,window.CSSPrimitiveValue就是这样一个属性。当我在控制台中计算window.CSSPrimitiveValue时,我得到一个看起来像构造函数的东西(可能): 看起来这个函数是用某种本地语言实现的。不管怎样当然,我想构建其中的一个,比如: var test = new CSSPrimit

我有点不懂javascript,但我有一个总的问题一直困扰着我。让我们举一个例子:

如果我跳进Chrome上的JS控制台,我可以轻松浏览
窗口
对象<代码>窗口似乎列出了很多“类类型”,可以这么说。例如,
window.CSSPrimitiveValue
就是这样一个属性。当我在控制台中计算
window.CSSPrimitiveValue
时,我得到一个看起来像构造函数的东西(可能):

看起来这个函数是用某种本地语言实现的。不管怎样当然,我想构建其中的一个,比如:

var test = new CSSPrimitiveValue();
但是我得到了一个错误:

TypeError: Illegal constructor

我怀疑要么我调用的构造函数不正确,要么它根本不是构造函数。关于这一点,我是一个相当大的JS noob,但有没有办法让我手动构建其中一个对象?该怎么做呢?

当使用
new
关键字调用时,任何用JavaScript编写的函数都可以是构造函数。正如你已经注意到的,你处理的函数是原生的,即用C或C++编写(可能是C++,因为Chrome的JavaScript引擎也是用C++编写的)。本机函数/对象可以有特定的行为,例如您不能将其用作构造函数的情况—您无能为力


该“函数”甚至没有
.call()
方法,您也不能对之前创建的对象调用它(这并不是说它非常有用,因为它没有正确的[[Prototype]]设置)

在某些情况下,我可以创建自己的对象,该对象的属性和方法与我不允许创建的对象相同,并且可以正常工作。
TypeError: Illegal constructor