我正在定义一个这样的对象:
function Project(Attributes, ProjectWidth, ProjectHeight) {
this.ProjectHeight = ProjectHeight;
this.ProjectWidth = ProjectWidth;
this.ProjectScale = this.GetProjectScale();
this.Attributes = Attributes;
this.currentLayout = '';
this.CreateLayoutArray = function()
{....}
}
然后我尝试创建一个这样的实例:
var newProj = new Project(a,b,c);
但是抛出了这个异常:
Project is not a constructor
有什么问题?我用谷歌搜索了很多,但我仍然无法弄清楚我做错了什么。
原文由 unni 发布,翻译遵循 CC BY-SA 4.0 许可协议
问题中发布的代码无法生成该错误,因为
Project
不是用户定义的函数/有效的构造函数。你可能做过这样的事情:
使用
var
的变量声明被 提升,因此总是在其余代码之前进行评估。因此,这也可能导致问题: