obj.prototype = new ParentObj(); 之后的对象方法消失了在 JavaScript 中

2024-04-12

我正在尝试在 JavaScript 中继承对象。看一下这个例子:

var BaseObject = function() {
};

var ChildObject = function() {
};

ChildObject.prototype.childMethod = function() {
};

ChildObject.prototype = new BaseObject();
ChildObject.prototype.constructor = ChildObject();

但是,一旦我进行原型继承,childMethod() 就会消失。我在这里做错了什么?


当您将原型分配给 BaseObject 并且 BaseObject 的原型没有 childMethod 方法时,您正在覆盖原型。

要获得所需的行为,您必须在将原型分配给 BaseObject 后添加 childMethod:

var BaseObject = function() {
};

var ChildObject = function() {
};


ChildObject.prototype = new BaseObject();
ChildObject.prototype.constructor = ChildObject;
ChildObject.prototype.childMethod = function() {
    return 'childMethod';
};
c = new ChildObject();
alert(c.childMethod());
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

obj.prototype = new ParentObj(); 之后的对象方法消失了在 JavaScript 中 的相关文章

随机推荐

  • PHP:类似 Youtube 的短 ID,带有盐

    我需要对数据库 ID 进行编码 加密并将其附加到我的 URL 中 安全性不是我想要解决的问题 但我正在寻找具有中等安全性的东西 主要目标是拥有唯一且 URL 安全的短 ID 下面的代码片段似乎可以满足我的需要 来自http programa
  • 推送通知未显示

    我开发了一个使用推送插件的phonegap应用程序 我创建了一个示例服务器 推送消息未显示在通知栏中 但消息正在应用程序中显示 请帮忙 我的代码是 var 推送通知 function onDeviceReady app status ul
  • 为什么这个 Parallel.ForEach 代码会冻结程序?

    更多新手问题 此代码从主窗口的列表中获取多个代理 我不知道如何使变量在不同函数之间可用 并对每个代理进行检查 简单httpwebrequest 然后将它们添加到名为的列表中finishedProxies 由于某种原因 当我按下开始按钮时 整
  • 如何在 linq 中对引用类型属性进行分组?

    我有一堂这样的课 public class Order public int Id public Person SalesPerson public class Person public int Id public string Name
  • 我在哪里可以找到 jpa orm.xml 使用示例[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我正在尝试查看 JPA orm xml 的一些使用示例 如果有人引导我访问链接 架构在这里 http java sun com xml n
  • 类变量、成员变量、局部变量、全局变量之间的区别[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 类变量 成员变量 局部变量和全局变量的分类 在类定义中定义为 static 的变量是类变量 public MyClass static
  • 如何通过 pip 安装 twilio 软件包?

    I have Python 2 7 12 64 位 安装在我的 Windows 计算机上 我安装的时候添加了pip和执行程序小路 现在当我尝试安装时Twilio with pip install twilio 我收到错误 pip is no
  • 为什么 std::string_view 在三元表达式中创建悬挂视图?

    考虑一个返回 a 的方法std string view要么来自返回 a 的方法const std string 或来自空字符串 令我惊讶的是 以这种方式编写方法会导致悬空字符串视图 const std string otherMethod
  • 推荐的博客数据库后端

    问候 我正在使用 php 构建我的个人网站 我的标准方法是使用 MySQL 作为数据库后端 我听说过很多关于面向文档的数据库 我想知道这些 couchDB mongoDB 是否对我来说是更好的选择 我知道像我的个人主页这样的低流量网站不会因
  • PHP:特定代码行的 sleep()

    是否可以使用 sleep 或其他函数 在执行之前等待 我有例如 div bla bla div some divs and html 如何在页面加载后 5 秒执行第一个 php 脚本 但在页面加载时显示其他所有内容 如果我在第一个 php
  • Golang调用CUDA库

    我正在尝试从 Go 代码中调用 CUDA 函数 我有以下三个文件 test h int test add void test cu global void add int a int b int c c a b int test add v
  • 如何在 angularjs 中进行基本身份验证?

    如何在 AngularJs 中进行基本身份验证 我用谷歌搜索过 但资源对我不起作用 我是veryAngularJS 新手 假设你的 html 定义如下 h2 Todo h2 div div
  • connect-redis - 如何保护会话对象免受竞争条件影响

    我使用 nodejs 和 connect redis 来存储会话数据 我将用户数据保存在会话中 并在会话生命周期中使用它 我注意到两个更改会话数据的请求之间可能存在竞争条件 我尝试过使用 redis lock 来锁定会话 但这对我来说有点问
  • 有人可以澄清 Celery 任务中任务优先级的用法吗?

    该文档很少提及priority属性 一份罕见的文档参考资料如下 priority int The task priority a number between 0 and 9 Defaults to the attr priority at
  • Qt GUI 编译后没有改变

    我使用 Qt Designer 编译并运行创建了一个 GUI 然后我在 GUI 中做了一些更改并再次重新编译 但 GUI 保持不变 即使我删除小部件并重新编译它们也会出现 I tried Clean All and Clean Projec
  • Highcharts重绘不重绘数据

    我一直在玩Highcharts v3 0 10 在网页上呆了一周 打印页面时无法重新绘制图表 问题是我在图表中使用深色背景颜色 但在打印时 我想将其更改为白色 为了实现这一点 我需要redraw 更改后我的图表backgroundColor
  • 雪花错误:SQL 访问控制错误:没有足够的权限对​​帐户“”进行操作

    我有一个 Snowflake 的免费试用帐户 我正在尝试创建存储集成 但运行脚本后我收到以下错误 SQL访问控制错误 没有足够的权限来操作帐户 即使对于帐户管理员角色 也会出现上述错误 在 Snowflake 原始 Web UI 不是 Sn
  • 在编码 UI HtmlLogger 输出文件中写入消息

    我正在使用编码的 UI 进行自动化测试 我已经在 QTAgent32 exe config 文件中启用了 HtmlLogger 我正在获取 html 输出文件 但我正在考虑在该 html 输出文件中写入一些消息 我用了this TestCo
  • 使用 pymongo tailable 游标在空集合上消失

    希望有人能帮助我理解我是否遇到问题或者我只是不理解 mongodb tailable 游标行为 我正在运行 mongodb 2 0 4 和 pymongo 2 1 1 这是演示该问题的脚本 usr bin python import sys
  • obj.prototype = new ParentObj(); 之后的对象方法消失了在 JavaScript 中

    我正在尝试在 JavaScript 中继承对象 看一下这个例子 var BaseObject function var ChildObject function ChildObject prototype childMethod funct