gpt4 book ai didi

Javascript:构造对象

转载 作者:可可西里 更新时间:2023-11-01 01:17:49 24 4
gpt4 key购买 nike

我是一个 javascript 菜鸟,但我有一个普遍的问题一直困扰着我。让我们举个例子:

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

function CSSPrimitiveValue() { [native code] }

所以看起来该功能是用某种本地语言实现的。不管。自然地,我想构建其中一个,如下所示:

var test = new CSSPrimitiveValue();

但是我得到一个错误:

TypeError: Illegal constructor

我怀疑我调用的构造函数不正确,或者它根本就不是构造函数。我是一个相当大的 JS 菜鸟,但是我有什么办法可以手动构造这些对象之一吗?解决这个问题的方法是什么?

最佳答案

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

那个“函数”甚至没有 .call() 方法,你也不能在你之前创建的对象上调用它(并不是说它会很有用,因为它不会'没有正确的 [[Prototype]] 设置)

关于Javascript:构造对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9950876/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com