gpt4 book ai didi

使用命名空间时出现 Javascript "Object not a constructor"错误?

转载 作者:行者123 更新时间:2023-12-03 10:04:27 25 4
gpt4 key购买 nike

我有以下 JS 代码:

window.Foo = {};
window.Foo.Name1 = function()
{
function Bar1(param1)
{
this.Name = param1;

}

}


var gMyBar = new Foo.Name1.Bar1("hello world");
alert(gMyBar.Name);

我在我的 Firefox 错误控制台中收到错误“Foo.Name1.Bar1 不是构造函数”...这是怎么回事?

最佳答案

您对 JavaScript 中的“ namespace ”感到困惑。 JavaScript 没有命名空间,只有对象和函数。您已将 Bar1 声明为函数 Name1 闭包内的局部函数。它不是 Name 的成员。我不确定您要在这里做什么,但我想就是这样:

var Foo = {
Name1: {
Bar1: function(param1) {
this.Name = param1;
}
}
};

var gMyBar = new Foo.Name1.Bar1("hello world");
alert(gMyBar.Name); // hello world

关于使用命名空间时出现 Javascript "Object not a constructor"错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3292091/

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