我可以在对象原型(方法)中定义属性吗?

2023-12-09

问题第 1 部分:我创建了一个包含属性的对象构造函数,但我想知道是否可以在其中一个方法中定义该对象的另一个属性。例如:

var Player = function(p1) {
    this.property1 = p1;
    this.property2 = 0;
}

那么,我可以定义this.property3在一个方法中,例如:

Player.prototype.drawMethod = funtion() {
    this.property3 = 1;
}

并使其易于访问,例如:

var obj = new Player(true);
if (obj.property3 ===1 && obj.property1 === 1) {
    //code
} else {
    obj.property3 = obj.property2;
}

问题第 2 部分:此外,属性是否会被接受为函数,我是否会使用以下方式调用它们:

this.func = function() {
    //code
}
...
obj.func();

我想知道是否可以在其中一个方法中定义对象的另一个属性

是的你可以。

但请注意,这被认为是不好的样式,因为实例将具有哪些属性在单个点(构造函数)上是不可见的。此外,众所周知,引擎不会优化这种情况 - 它们为构造函数创建的对象的形状保留必要的空间,并且在实例化后更改它需要一些额外的工作。

属性是否会被接受为函数,我会称它们为[类似方法]吗?

Yes.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我可以在对象原型(方法)中定义属性吗? 的相关文章

  • 减少 JavaScript 中的对象数组

    我在 javascript 中有一个想要减少的对象数组 请参阅下面的代码 6 位或以上的消息已验证 较少的消息未验证 我将他们按组分组 const myArray group groupA message Text without a nu
  • 使用按钮在 aspx.cs 上调用 JavaScript 函数(以 aspx 形式)

    我有这个aspx div div
  • React 和 Leaflet 结合的好方法

    我正在开发一个将 React 和 Leaflet 结合起来的项目 但我必须说我在语义方面遇到了一些困难 由于大部分内容都是由 Leaflet 直接管理的 我不知道将 Leaflet 映射实例添加为 React 组件中的状态是否有意义 当涉及
  • React 测试库:当输入表单上的 fireEvent 更改时,给定元素没有值设置器

    我想改变的值材质用户界面 https material ui com components text fields TextField在反应测试库中 我已经设置了 data testid 然后使用getByTestId我拿起了输入元素 th
  • 找不到 firebase-messaging.js laravel

    大家好 我正在使用 firebase 制作一个用于推送通知的应用程序 这是我在 firebase 中的第一个项目 我遇到的问题是当我运行项目并单击它给我的登录按钮时的连接 已授予通知权限 但在此之后它返回一个错误 如下所示 获取脚本时收到错
  • .getDay() 奇怪的行为[重复]

    这个问题在这里已经有答案了 有一个例子 console log new Date 2013 02 24 getDay 24 gt 0 24 console log new Date 2013 02 25 getDay 25 gt 1 25
  • 在VBA中使用类模块作为命名空间是否有任何陷阱

    VBA 不支持命名空间 Java 人员的包 其他语言中的命名空间有助于避免歧义并补充成员名称自动完成等工具 在 VBA 中模拟命名空间的一种方法是在类模块中声明什么是事实上的静态方法 然后在标准模块中声明该类的默认实例 这甚至是一些 Mic
  • 自定义过滤器在 Angular Hybrid 应用程序中不起作用

    我正在尝试将 AngularJS 1 6 应用程序与 Angular 5 一起转换为混合应用程序 我定义了以下简单过滤器 function use strict var filterId colorPicker angular module
  • Internet Explorer 的数组indexOf 实现

    有很多关于如何将 indexOf 实现放入数组原型中以便它可以在 Internet Explorer 下工作的解决方案 但是我偶然发现了一个问题 到目前为止我所看到的任何地方似乎都没有解决这个问题 使用非常一致的MDC 的实施 https
  • 是否可以从“GET”请求中检索 MS/延迟? (Javascript/Jquery)

    我目前正在使用 jquery 发出一些 getjson 请求 他们是获取请求 GET http localhost MySite JSON http localhost MySite JSON 现在您可以在 Firebug 中观看请求的触发
  • 句柄类和值类的区别

    我有一些 C 背景 想使用 Matlab 中的类 句柄和值类有什么区别 我知道如果我想定义一个带有重载运算符 例如 和 的矩阵类 我会使用值类 然而 有时 当我选择一个手柄类时 事情似乎只对我有用 MathWorks 提供了一些有关其用途的
  • JavaScript 中的自定义“确认”对话框?

    我一直在开发一个使用自定义 模式对话框 的 ASP net 项目 我在这里使用吓人引号 因为我知道 模式对话框 只是我的 html 文档中的一个 div 它被设置为出现在文档其余部分的 顶部 而不是真正意义上的模式对话框 在网站的许多部分
  • 按位非运算符

    为什么要按位运算 0 打印 1 在二进制中 不是0应该是1 为什么 你实际上很接近 在二进制中 不是0应该是1 是的 当我们谈论一位时 这是绝对正确的 然而 一个int其值为0的实际上是32位全零 将所有 32 个 0 反转为 32 个 1
  • 需要了解Javascript函数提升示例

    我阅读了 Javascript 提升的概念 它非常令人困惑 但我看到了一些示例并了解了提升的实际作用 所以基本上 提升是 JavaScript 的默认行为 即将所有声明移动到当前作用域的顶部 当前脚本或当前函数的顶部 但我无法理解以下实现
  • 如何使用 jQuery AJAX 和 JSON 通过 Bootbox 确认表单提交

    我正在使用一个网络应用程序工作Spring MVC 我试图在提交表单之前显示一个确认对话框Bootbox 但我收到 500 内部服务器错误 这是我的表格
  • ajax - 检查用户名是否存在+如果存在则返回消息

    我试图检查用户想要的用户名是否已被使用 而无需发送表单 基本上是用户名字段的模糊 我遇到了一些麻烦 有几个问题 我有我的输入字段加上js
  • 内联 YouTube 视频在 iOS 上的 cordova 应用程序中不起作用

    我用 cordova 开发了一个移动应用程序 我确实需要能够播放内联 YouTube 视频 我尝试了一段时间来解决它 我设置了属性playsinline to 1在 YouTube iframe API 中 I put
  • CasperJS:如何单击所有选定的按钮?

    我正在尝试使用 CasperJS 作为网络抓取工具 并且有一个带有按钮的页面 单击该按钮将加载数据 因此 我想先单击所有这些按钮 然后等待 然后再实际进行查询以获取所有必要的数据 问题是对于 Casper casper thenClick
  • jQuery 存储类型未定义

    我用了一个jQuery 存储 https ui5 sap com api jQuery sap storage存储数据 oStore jQuery sap storage jQuery sap storage Type local oSto
  • 获取不正确的日期,将时间戳转换为新日期

    我正在尝试将时间戳转换为日期 但得到的日期不正确 我正在开发一个使用 Angular 和 Typescript 的项目 我有这样的时间戳 1451642400 2016年1月1日 和1454320800 2016年2月1日 如果我编码 da

随机推荐

  • 如何在 SQL select 语句中动态创建列

    我有3张桌子 团队 选项 选项团队 团队拥有 TeamId 和 NameOption保存OptionId OptionGroupOptionTeam持有TeamId OptionId OptionGroup select a TeamId
  • 终止/暂停时位置 API 发生重大变化的行为?

    这是来自CL位置管理器描述应用程序行为的文档开始监控重大位置变化 如果您启动此服务并且您的 随后申请 系统自动终止 重新启动应用程序到 如果有新事件到来 则背景 在 在这种情况下 选项字典 传递给 应用程序 didFinishLaunchi
  • 我想检测 winforms 列表框控件中双击的项目。 [如何处理点击空白区域?]

    好吧 我有一个列表框 里面有一些项目 我想检测对某个项目的双击 目前我使用的方法有一个问题 如果用户双击空白处 当前选定的项目将被标记为双击 Update 请注意 这个问题并不像乍看起来那么简单 另请注意 Timwi 答案不正确 因为如果选
  • 使用按位移位反转数字

    我正在尝试找到一种方法来反转数字without 将其转换为字符串以求长度 反转字符串并解析回来 运行单独的循环来计算长度 我目前正在这样做 public static int getReverse int num int revnum 0
  • 为什么 longLongValue 返回错误的值

    我有一个 NSDictionary 其中包含一个值为 4937446359977427944 的键 我尝试将其值获取为 long long 并返回 4937446359977427968 NSLog value1 dict objectFo
  • Angular xlsx - 多个 json 到工作表

    我使用 js xlsx 和函数 utils json to sheet 导出到 Excel 问题是我有另一个 json 对象 我想将其导出到同一张表 位于前一个表的正下方 XLSX utils json to sheet outputDat
  • 为什么 Html5 音频在文件加载时从服务器加载所有歌曲

    我的本地 Web 应用程序 使用 java Spark 框架 创建了一个 Html5 报告 其中一些页面包含可以播放的音频文件 最初这纯粹是通过 Html 完成的 例如
  • Java:在 Ubuntu 上请求 root 权限

    如何调用身份验证窗口 从类中为当前应用程序授予 root 一段时间的访问权限 例如 我正在编写一些应用程序来处理分区 因此它需要 root 权限才能执行某些操作 也许你无法用 Java 做到这一点 最好的方法是 也许你可以检测到该程序没有运
  • 每天在特定时间运行 DAG

    我读过多个例子schedule interval start dateAirflow 文档也多次出现 但我仍然无法理解 我如何在每天的特定时间执行我的 DAG 例如 现在是 9 30 上午 我部署 DAG 并且希望它在 10 30 执行 我
  • 在使用 std::array 的类的构造函数中初始化 std::array 的大小

    是否可以使用std array
  • 致命错误:调用未定义的函数 ftp_ssl_connect()

    我正在尝试在 PHP 中设置 FTP SSL 连接 我用过ftp connect 很好 效果很好 一旦我尝试使用ftp ssl connect 我收到此错误 致命错误 调用未定义的函数 ftp ssl connect 我确实在 PHP 扩展
  • 具有动态列的 LINQ Pivot

    我正在尝试使用带有动态列的 LINQ 创建数据透视表 我在 SQL Server 中创建了一个数据透视表 您不知道将使用哪些列 但不知道如何将其转移到 LINQ 中 有人有链接供我开始使用吗 Cheers List
  • 使用 python 提取 pdf 表格中包含的文本的最佳方法是什么?

    我正在构建一个程序 从 pdf 中提取文本 将其放入结构化格式 然后将其发送到数据库 我有大约 1 400 个单独的 pdf 文件 它们都遵循类似的格式 但文档总结的措辞和计划设计中的细微差别使其变得棘手 我在 python 中尝试过几个不
  • 我什么时候应该关闭DatabaseHelper?

    参考this链接 如果只有一个连接 什么时候是关闭连接的好时机 我有一项服务始终在后台运行 什么时候是打电话的好时机close 功能 有什么建议么 你实际上不必打电话close 例如 如果您实现内容提供商 则没有机会调用close 我们被告
  • 禁用表单提交,直到选中(两个)复选框

    我们有一个表单 在提交表单之前 我们有两个复选框 privacy 条款和条件 我想做的是 在验证复选框时遇到问题 禁用提交按钮 直到选中两个复选框为止 这些的 html 是
  • NumPy for windows python 2.7 [关闭]

    很难说出这里问的是什么 这个问题模棱两可 含糊不清 不完整 过于宽泛或言辞激烈 无法以目前的形式合理回答 如需帮助澄清此问题以便重新打开 访问帮助中心 我找不到适用于 windows python 2 7 的 NumPy 尽管我找到了它的
  • 将区域设置设置为系统默认 UTF-8

    当在 rApache 中运行 R 时 语言环境是从 Apache Web 服务器继承的 因此Sys getlocale 总是等于 C 我希望使用我的网络应用程序UTF8 所以我使用 Sys setlocale LC ALL en US UT
  • do 块中的返回类型

    我试图理解 Haskell 中的 Monad 在我无数次的代码实验中我遇到了这个事情 f2 do return da 事实上 它不想在编译时出现关于类型的巨大错误 我认为唯一重要的部分是 No instance for Monad m0 a
  • 如何通过将列的类别分成集合来过滤数据框?

    我有一个数据框 Prop ID Unit ID Prop Usage Unit Usage 1 1 RESIDENTIAL RESIDENTIAL 1 2 RESIDENTIAL COMMERCIAL 1 3 RESIDENTIAL IND
  • 我可以在对象原型(方法)中定义属性吗?

    问题第 1 部分 我创建了一个包含属性的对象构造函数 但我想知道是否可以在其中一个方法中定义该对象的另一个属性 例如 var Player function p1 this property1 p1 this property2 0 那么