gpt4 book ai didi

JavaScript:这个构造函数有什么问题?

转载 作者:行者123 更新时间:2023-11-30 18:53:00 24 4
gpt4 key购买 nike

我不太确定如何在 JS 中实现对象。

这是一个构造函数:

function FooList(arg1, arg2, arg3, arg4, arg5, arg6, arg7)
{
alert("constructing");
this._arg1 = arg1;
this._arg2 = arg2;

this.refresh();
}

我想在这里调用它:

FOO_LIST = new FooList(
arg1,
arg2,
arg3,
arg4,
arg5,
arg6,
arg7
);

当我拥有所有 7 个参数时,它不起作用。 (没有命中构造函数中的断点;也没有触发警报。此外,包含上述代码的方法停止执行。)

但是,这确实会触发警报:

FOO_LIST = new FooList();

我在这里做错了什么?

更新 也许这是定义构造函数的更好方法:

FooList = function() { }

而不是

function FooList() { }

但是,即使使用前一种方法,它仍然不起作用。

更新 2:看起来 Spinon 和 Russ Cam 的评论是正确的。当我尝试对其求值时,其中一个参数无声地失败了。

最佳答案

在最后一个 arg 之后有一个尾随逗号,这会导致 JavaScript 引擎出现问题。

此外,最好在FOO_LIST前使用var,即使它是故意的全局变量,因为这是一个养成for的好习惯所有变量声明,并使您免受将来全局变量覆盖的潜在问题。

对于像这样具有许多参数的函数,您可能希望使用 arguments 对象并对其进行索引以获取参数 1-7。

关于JavaScript:这个构造函数有什么问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3176295/

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