创建对象时 Javascript“不是构造函数”异常

2023-11-24

我定义一个这样的对象:

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

可能出什么问题了?我用谷歌搜索了很多,但我仍然不明白我做错了什么。


问题中发布的代码无法生成该错误,因为Project不是用户定义的函数/有效的构造函数。

function x(a,b,c){}
new x(1,2,3);               // produces no errors

你可能做过这样的事情:

function Project(a,b,c) {}
Project = {};               // or possibly   Project = new Project
new Project(1,2,3);         // -> TypeError: Project is not a constructor

变量声明使用var are hoisted因此总是在其余代码之前进行评估。因此,这也可能会导致问题:

function Project(){}
function localTest() {
    new Project(1,2,3); // `Project` points to the local variable,
                        // not the global constructor!

   //...some noise, causing you to forget that the `Project` constructor was used
    var Project = 1;    // Evaluated first
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

创建对象时 Javascript“不是构造函数”异常 的相关文章

  • RxJS - 我需要取消订阅吗

    如果我有这样的事情 class MyComponent constructor this interval Observbale interval 1000 const c new MyComponent const subscriptio
  • 从 JavaScript 重新启动动画 GIF,无需重新加载图像

    我正在使用动画 GIF 创建动画幻灯片 我正在从一个动画淡入淡出到下一个动画 问题是 我发现确保 GIF 从第一帧开始动画的唯一方法是每次显示时重新加载它 每个 GIF 大约 200KB 这对于连续幻灯片播放来说带宽太大了 这是我当前的代码
  • 使用Javascript自动打开弹出新窗口[重复]

    这个问题在这里已经有答案了 如何使用Javascript加载页面时打开弹出新窗口 我希望 当网站加载时 它会自动打开弹出新窗口 我使用以下内容 不行 尝试这个
  • Javascript 函数指针,以参数作为函数中的参数

    不确定标题的措辞是否正确 或者是否有更好的表达方式 但我认为还可以 无论如何 到目前为止我了解以下内容 a b a b c foo 其中 foo 是在其他地方定义的函数 不接受任何参数 只会导致函数 a b 使用上述参数运行 然后可以在函数
  • 按 Enter 键提交消息?

    我正在开发一个基于本教程使用 Meteor 构建的聊天应用程序 http code tutsplus com tutorials real time messaging for meteor with meteor streams net
  • 如何从左向右滑动文本和图像并具有滑动效果[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • jQuery 在附加元素后立即返回 div 元素的高度 0

    我有一个浮动 div 最初没有内容 我使用 jQuery 将一组元素附加到 div 然后立即调用原始 div 的 height 方法 我添加的元素在样式表中具有定义的最小高度 而浮动 div 则没有 问题是 当我在原始 div 上调用 he
  • 如何使用javascript将视频文件转换为字符串?

    我在 signalR 工作 我想通过将视频文件拆分为不同部分来将视频文件从一个客户端发送到另一个客户端 我已经通过分割图像源数据发送图像并在另一个客户端上接收该图像 document getElementById fileUpload ad
  • 从本地 html/javascript 网站插入 mySQL 数据库

    我正在尝试做什么 我的程序的目的是插入数据local HTML JS网站变成online 非本地 mySQL数据库 到目前为止我尝试过的 我试图用来实现此目的的原始方法是让我的本地网站使用 javascript 通过在线发布数据PHP文件
  • 当系列没有相同的时间值时,如何在工具提示中显示所有系列

    我有一个显示多个时间序列的图表 不同时间序列不会同时采样 有没有办法在工具提示中显示所有系列 在示例中 您可以看到所有系列都包含在前 2 个点的工具提示中 因为它们是同时采样的 其余点仅包含 1 个系列 var myChart echart
  • FileReader 在 Ionic 2 中未触发 onloadend

    我正在尝试使用 cordova file plugin 读取本地文件 目前我可以读取本地目录的内容并选择单个文件 但我在获取文件内容时遇到问题 这是我的函数 从列表中选择文件后单击按钮即可调用该函数 import window resolv
  • Coq:多个构造函数的单一表示法

    是否可以在 Coq 中为多个构造函数定义单一符号 如果构造函数的参数类型不同 则可以从中推断出它们 一个最小的 非 工作示例 Inductive A Set a b c C gt A d D gt A with C Set c1 c2 wi
  • 如何创建显示/隐藏 Docusaurus 项目中所有详细标签状态的按钮?

    根据讨论here https stackoverflow com questions 58579048 how to add or remove the open attribute from all details tags in a r
  • 如何将类组件中的 props 发送到功能组件?

    我是 ReactJS 的初学者 需要知道如何将一个页面中的 props 值发送到另一个页面 道具位于第一页上我可以获取类组件值如何获取另一页中的值 提前致谢 墙色 jsx import React Component from react
  • 如何使用 ReactJS 使表中的列可以以两种方式排序

    我正在 ReactJS 中构建一个简单的应用程序 它通过调用某个 API 来使用 JSON 数组 然后我将数组的结果填充到表中 我现在想让表的列可排序 我理想的情况是同时进行升序和降序排序 一旦我单击标题 当它按升序排序时 它应该按降序排序
  • 检查是否安装了 Google Analytics 或 Universal Analytics?

    我正在尝试通过 JavaScript 来确定是否加载了 Google Analytics 或 Universal Analytics 一些客户仍在使用旧的 Google Analytics 我们希望推出一个收集数据的 JavaScript
  • 分配函数后如何删除 onmouseout 事件?

    我有一个问题 我正在为 onmouseout 事件分配一个函数 但运行该事件后 我需要将其删除 将非常感谢您的帮助 这取决于你的代码 如果你用 d3 这样做 那么你可以说 在 onmouseout 事件函数中 element on mous
  • 单击 html 中的按钮后如何从 javascript 函数写入文件

    我正在尝试编写真正基本的代码 在 html 文件上按下按钮后 通过 JavaScript 函数在本地写入 txt 文件 这不可能吗 我可以仅使用 javascript 文件写入文件 但在尝试同时使用两者时则不能
  • 了解客户端文件的对象 URL 以及如何释放内存

    我在用createObjectURL获取本地图像文件的引用 URL 当我完成文件 图像后 我打电话revokeObjectURL释放该内存 一切对我来说都很好 但我只是想确保我释放了我能释放的所有内存 我检查后出现了我的担忧chrome b
  • 如何向 SvelteKit/Vite 应用添加版本号?

    我正在尝试在我的 SvelteKit 应用程序中创建一个系统 它会在某个页面上向您显示有关当前应用程序版本的信息 最好是 Git 提交哈希和描述 我尝试使用Vite的定义功能 https vitejs dev config define在构

随机推荐

  • cpu使用率最高的进程名称

    我有一个Samurize配置显示类似于任务管理器的 CPU 使用率图表 如何同时显示当前CPU使用率最高的进程名称 我希望最多每秒更新一次 Samurize 可以调用命令行工具并将其输出显示在屏幕上 因此这也可以是一个选项 进一步澄清 我已
  • 仅在粘贴时限制输入数字

    我有一个名为restrict numbers 的类 我想将输入的字符限制为仅接受数字 我使用了以下代码 这很好 但问题是我想在输入中粘贴时进行相同的限制在不完全禁用粘贴的情况下提交 function input only numbers i
  • git status 返回“致命:不是 git 存储库”但 .git 目录存在

    我有一个当前无法推送到的远程文件夹 当我直接进入远程目录并执行 git status 时 它会显示 致命 不是 git 存储库 git 文件夹确实存在 并且昨天工作正常 此后没有任何变化 谁能告诉我即使 git 文件夹存在也可能收到此消息的
  • 如何从 Java 与 ADFS 通信? [关闭]

    Closed 这个问题需要多问focused 目前不接受答案 我们有一个在 Caucho Resin 上运行的网站 它主要是使用 JSP 用 Ja va 编写的 我们在网站上有自己的自定义身份验证 我们没有使用任何第三方身份验证框架 我们现
  • PHP 反射类。如何获取属性的值?

    我在 PHP 中使用反射类 但我不知道如何获取反射实例中的属性值 有可能的 代码 如何获取 foreach 循环内的属性值 此致 怎么样 ReflectionProperty getValue 获取属
  • VS Code:登录错误:您似乎处于离线状态。请检查您的网络连接

    在 VS Code 中 当我尝试运行以下命令进行登录时 我收到以下错误消息并且无法登录 由于在公司代理后面工作 我遇到了同样的问题 我可以通过在设置中写入http代理来解决这个问题 而不是将其留空并从环境变量继承
  • JQuery 数据表在输入中搜索并选择

    将 Jquery Datatables 与输入和选择一起使用 如下所示 http datatables net examples api form html或者 如果我使用自定义列呈现处理程序来生成输入并选择如何使全局表搜索工作 如果您查看
  • Ransack、Postgres - 对关联表中具有不同的列进行排序:true

    我有一个使用 Ransack gem 的应用程序 我正在将其从 Mysql 转换为 Postgres 在排序列来自关联表并且 unique 选项设置为 true 的情况下 Postgres 会抛出以下错误 PG InvalidColumnR
  • 如何在 jQuery 点击函数中存储局部变量?

    我试图弄清楚如何在 jQuery 的 click 事件期间创建的函数中存储外部变量值 这是我现在正在使用的代码示例 for var i 0 i lt 3 i tmpid i click function var gid i alert gi
  • 如何在自包含的 Angular 2 组件中包含字体

    我有一个需要自定义字体作为依赖项的组件 我希望该组件能够处理字体本身的导入 以便它是可移植的 另外 我们的项目正在使用 angular cli 所以我无论如何都无法控制 webpack config 我希望 Angular cli 足够智能
  • Azure 应用服务 - 写入文件系统 - ASP.NET Web 应用程序

    我有一个在 Visual Studio 2017 中创建的 ASP NET Web 应用程序 在应用程序中有一个表单 用户可以在其中上传文件 上传文件后 我会处理它们并将它们保存在文件系统上 var photo Request Files
  • Ruby 参数列表中的单个 splat/星号是什么意思? [复制]

    这个问题在这里已经有答案了 今天我翻阅Rails 3 ActiveRecord源代码发现整个参数列表是单个星号的方法 def save 我找不到关于它的作用的良好描述 尽管我根据我对 splat 参数的了解有一些想法 它有什么作用 为什么要
  • 如何删除工作表中未清除的行?

    我不知道如何删除行而不留下空行 我正在使用 Apache POI 3 9 但使用以下代码时出现错误 public List
  • Android 广播接收器错误:未找到类异常

    我有一个广播接收器设置 以便在每次升级我的应用程序后 或者如果这是第一次安装软件包时 都会向用户显示一条弹出消息 我在运行 Android 2 2 的 Droid 上进行了测试 无论是全新安装还是升级应用程序后 以及运行 1 5 和 1 6
  • 为什么 django SimpleTestCase 创建测试数据库

    如中所解释的this问题并在Django 文档 当在单元测试中使用SimpleTestCase时 django不应该创建测试数据库 这需要太长时间 在我的一个名为 搜索 的应用程序中 我有一些从 SimpleTestCase 继承的单元测试
  • $.ajax() 成功不会运行函数

    我的问题是关于 ajax jQuery 方法 我无法获取成功参数 ajax 上班 这有效 ajax type POST url getCodes php codes billingCodes parent wClient val dataT
  • 设置iframe的内容

    我有以下结构 div p Hello World p div 我有以下 JavaScript 变量content var s div Test Div div 如何更改带有id的iframe的内容myiframe有变量s I tried m
  • $.getJSON 中的 beforeSend

    我该如何使用beforeSend回调中 getJSON 跨域 进一步来说 getJSON调用的是 YQL 服务 喜欢 从 html 中选择 其中 网址 http www yahoo com 唯一的目的就是发送前是获取原始 XHR 对象 通常
  • 惰性量词 {,}?没有按我的预期工作

    我对惰性量词有疑问 或者很可能我误解了我应该如何使用它们 测试于Regex101我的测试字符串是 123456789D123456789 1 5 火柴12345 1 5 火柴1 我对两场比赛都满意 1 5 D火柴56789D 我希望它能够匹
  • 创建对象时 Javascript“不是构造函数”异常

    我定义一个这样的对象 function Project Attributes ProjectWidth ProjectHeight this ProjectHeight ProjectHeight this ProjectWidth Pro