JavaScript继承框架

2023-12-25

是否有一个小型、轻量级的 JavaScript 类继承解决方案,可以在客户端和服务器端(node.js)上正常工作?我不需要一个大的库,只是需要一个允许我声明构造函数和一些方法,然后让类能够继承它的库。


John Resig 用大约 25 行代码概述了一个简单的继承框架here http://ejohn.org/blog/simple-javascript-inheritance/。我见过它使用效果很好。

你可以这样使用它:

var Vehicle = Class.extend({
  init: function(wheels) {
    this.wheels = wheels;
  }
});

var Truck = Vehicle.extend({
  init: function(hp, wheels) {
    this.horsepower = hp;
    this._super(wheels);
  },

  printInfo: function() {
    console.log('I am a truck and I have ' + this.horsepower + ' hp.');
  }
});

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

JavaScript继承框架 的相关文章

  • 如何监控浏览器中发出的所有自定义事件?

    我想监视网络浏览器中触发的所有自定义事件 任何标准浏览器都可以 需要明确的是 我知道您可以附加事件处理程序来查看何时触发 通常 事件 但如何可靠地检测嵌入对象或 jQuery 脚本是否触发自定义事件 我可以重构浏览器源代码来挂钩事件循环 但
  • 使用shinyjs通过javascript在闪亮的应用程序中操作现有的Leaflet地图

    我有一个闪亮的应用程序 其中包含现有的传单地图 我希望能够在渲染后使用自定义 javascript 通过shinyjs包裹 一个最小的例子如下 app R packages library dplyr library leaflet lib
  • Vue js按钮冻结dom

    我试图在按下按钮时切换包含加载动画的跨度 直到使用 v if 函数完成 但是当我按下按钮时 DOM 冻结并且 span 元素保持不变 直到函数调用结束 如何让 DOM 不冻结并显示加载图标 非阻塞按钮按下可能是一个解决方案 HTML
  • 为什么新行上的 return 语句不返回任何值? [复制]

    这个问题在这里已经有答案了 考虑以下情况 function func1 return hello world function func2 return hello world console log func1 console log f
  • nodejs gmail api不支持承诺

    Google 推荐使用承诺 https developers google com api client library javascript features promises 但它的代码示例没有 当我修改代码时 我正在努力使 gmail
  • Ember.js 数组作为模型的属性

    干杯 我有一些模型 它的一个属性是一个数组 但由于某些原因 我在服务器上使用 mongoDB 并且它是嵌入式模型和 ember data 的问题 我不能做这样的事情 App Foo DS Model extend numbers DS ha
  • Javascript 根据字段值任意排序数组

    所以我有一个对象数组 如下所示 var myArray priority low priority critical priority high 我需要以这种方式排序 1 关键 2 高和3 低 如何才能做到这一点 我建议使用一个对象来存储排
  • contenteditable 在 safari 中不起作用,但在 chrome 中起作用

    我有一个奇怪的问题 这在 chrome 中按预期工作 但在 safari 中它只会发光 但不会对按键输入做出反应 这是触发文本版本的方法 var namebloc event currentTarget find column filena
  • 如何正确关闭 Node.js Express 服务器?

    我需要在收到回调后关闭服务器 auth github callback网址 与平常一样HTTP API http nodejs org docs latest api http html关闭 服务器目前支持server close call
  • jQuery 问题:它的真正含义是什么?

    function window undefined jquery code jQuery window 它到底意味着什么 是不是也意味着 document ready 或者只是两种不同的东西 已经有两个答案 但这是我对代码缺失端的猜测 fu
  • JQuery _renderItem 没有被调用

    我正在尝试使用 renderItem 函数创建自定义 ui menu item 元素 但经过可能尝试后 我什至无法调用该函数 自动完成功能正在工作 但就像 renderItem 函数不存在一样 这是我的脚本部分
  • 在 Express 中设置客户端可访问 Cookie

    我正在开发一个使用 Express 和 SocketIO 的 Node 应用程序 我想在我的 Express 控制器中设置一个 cookie 然后可以从我的客户端 Javascript 代码访问该 cookie 我尝试的一切似乎都不起作用
  • Niceedit本地上传图片失败

    我是这样称呼编辑的 new nicEditor buttonList bold italic underline upload iconsPath img nicedit png uploadURI http server com inte
  • 如何在 Astro 中的组件之间共享状态?

    我相信我在代码中采用了错误的方法 如何在按钮单击中设置客户端首选项 该按钮单击用作全局 astro 组件中的道具 或者我应该怎么做 我知道这是可能的 因为 astro js 本身在他们的文档网站中这样做了 下面是我的尝试的解释 我目前正在开
  • 是否可以从 webpack 中的文件名中删除特殊字符?

    长话短说 我的资产文件名中不能包含某些字符 例如连字符 我没有运气通过解析 webpack 文档来弄清楚是否可以使用正则表达式或类似的东西重命名文件 这样我就可以从我无法控制源文件名的 3rd 方包中删除任何连字符 我的超级天真的例子是这样
  • jVectorMap - 向下钻取地图 - 自定义背景

    我正在使用 jVectorMap 中的向下钻取地图 并且尝试将自定义背景颜色设置为地图的第二层 为了自定义主级别 我使用 main 参数 但我不知道如何将其扩展到地图的较低级别 提前致谢 马切伊 None
  • Node.js :带有多个查询参数的 Express app.get

    我想查询 yelp api 并有以下路线 app get yelp term term location location yelp listPlaces 当我发出 GET 请求时 http localhost 3000 yelp term
  • 使用重复模式捕获正则表达式

    我试图捕获字符串的所有部分 但我似乎无法正确处理 该字符串具有以下结构 1 22 33 中间有运算符的数字 可以有任意数量的术语 我想要的是 1 22 33 1 22 33 但我得到 1 22 33 22 33 我尝试过各种正则表达式 这是
  • 为什么对于整数键,“Map”操作比 JavaScript (v8) 中的“Object”慢得多?

    我很高兴使用Map对于在我的 JavaScript 代码库中随处访问的索引 但我刚刚偶然发现了这个基准 https stackoverflow com a 54385459 365104 https stackoverflow com a
  • 网页执行回发时如何停止在注册表单上?

    我正在做我的最后一年的项目 其中 我在一页上有登录和注册表单 WebForm 当用户点击锚点时Sign Up下拉菜单ddlType 隐藏 和文本框 txtCustName txtEmail and txtConfirmPassword 显示

随机推荐

  • 检测到要删除的 iOS 应用程序?

    For my iOS应用程序 当用户a要删除该应用程序时 会触发什么事件 没有这样的事 抱歉 你能做的最好的事情就是检查UIApplicationWillTerminateNotification通知 但更重要的是 当应用程序转换到后台时保
  • 在 C# 中,':this' 意味着什么[重复]

    这个问题在这里已经有答案了 我在这个链接中遇到了一些c http www asp net signalr overview getting started tutorial server broadcast with aspnet sign
  • 排除 SSRS 报告的“日期/时间”参数中的时间

    在我的 SSRS 报告中 我希望允许用户指定一个日期 用于过滤报告上的数据 当我这样做时 参数还包括时间 是否可以只允许用户选择日期而不显示时间 我还可以给它一个当前日期的默认值吗 我已经应用于报告参数的步骤 将参数设置为 日期 时间 数据
  • 使用 EPPlus 从 Excel 获取所有单元格值

    我想使用 EPPlus 库中的 ExcelWorksheet 对象并检索所有具有值及其位置的单元格 归根结底 我想要一本与此类似的词典 Dictionary
  • 我如何在 OS X 下覆盖 malloc()、calloc()、free() 等?

    假设使用最新的 XCode 和 GCC 覆盖内存分配函数的正确方法是什么 我猜也是 new delete 运算符 调试内存分配器对于游戏来说太慢了 我只需要一些基本的统计数据 我可以自己做 影响最小 由于钩子 我知道它在 Linux 中很容
  • 返回值时类型不兼容

    我想在地图上显示带有绘制线的图像 并为图像中的每个部分 几条连接线 制作单独的图像 我写了这段代码 public BufferedImage getLineImage BufferedImage lineImage null Buffere
  • 如果父进程退出,如何防止子进程不成为僵尸进程

    我的主进程生成一个子进程 如果主进程被杀死 子进程将被分配 ppid 为 1 当子进程退出时 它将成为僵尸进程 因为 init 尚未对该子进程调用 wait 有没有办法避免这种情况呢 init will call wait 在它继承的进程上
  • 如何在ubuntu下使用adb USB连接android设备[关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 其他人可能在 ubuntu linux 下遇到了 adb 调试问题 症状是 USB 连接的 Android 设备的可用性 例如与日食 你可以
  • 组合框数据绑定错误 - 如果以编程方式失去焦点,则不会写入值

    我有一个空白表单 我在其中添加了默认值ComboBox TextBox 仅用于接收焦点 以及Label 组合框具有设置为表单上的私有属性的数据绑定 Setup Private Sub FormLoad sender As System Ob
  • @RequestBody 在发出 POST 请求时给出空 JsonObject

    我有以下方法 RequestMapping value app write method RequestMethod POST consumes application json produces application json publ
  • 如何添加用户脚本js文件作为Chrome扩展?

    我目前一直在为 Chrome 开发用户脚本 这些脚本可以在不使用 Tampermonkey 的情况下运行 今天我在 Chrome 扩展中添加了一个第三方扩展 userscript js UserScript name job changer
  • 如何让 python 程序运行而不是在记事本中打开?

    我在打开 py 文件时遇到一些问题 我有一个程序调用这个 py 文件 即路径名 example py file txt 但它不是运行 python 程序 而是在记事本中打开它 我如何让它运行 程序本身接收一个文件 并创建一个更可读的输出 编
  • 未找到框架 Protobuf

    I am facing an issue wherein I needed to use FirebaseRemoteConfig for my iOS app I included the following pod pod Fireba
  • 具有自己的文件偏移量的重复文件描述符

    如何从现有文件描述符创建新文件描述符 使得新描述符不共享文件表中相同的内部文件结构 条目 具体来说 诸如文件偏移量 最好是权限 共享和模式 之类的属性不应在新旧文件描述符之间共享 在 Windows 和 Linux 下 dup 将复制文件描
  • mingw 3.4.5 缺少 dlfcn.h?

    难道是我的mingw 3 4 5安装有问题 还是其他一些图书馆提供了这个 如果您想知道 dlfcn h 是定义 dlopen 和 dlclose 等内容的地方 所以它应该是相当标准的 dlfcn win32 http code google
  • Sonata Admin (2.3) 中的嵌套集合字段

    我在创建用于创建课程的表单时遇到问题 这是我的数据库方案的一部分 我正在尝试为其创建一个表单 所以我想做的是创建一个课程 我可以在其中创建会话和附加到该会话的日期 时刻 它应该看起来像这样 In my 课程管理我有的课 protected
  • 从子 textInputEditText 获取父 textInputlayout

    我正在实现一个功能来更改大小写textInputlayout提示文本为大写当提示浮起时 反之亦然 为此我正在使用OnFocusChangeListener在它的孩子身上textInputEditText 为了使其易于实施 我正在实施View
  • 删除java中的符号链接

    是否有任何 api 可用于使用 java util Date 删除符号链接 Files delete Path 不起作用 请发表您的建议 Files delete Path 在符号链接上完美运行 您的代码中应该还有其他问题 此代码示例有效
  • 如何在 C# 中保存文件和在数据库中插入记录之间创建 Transactionscope

    我有一个问题 保存文件并在 TransactionScope 的数据库中插入记录 表示保存文件和插入记录 必须一起依赖 或两者或两者都不依赖 有人可以帮我吗 事务性 NTFS 最酷的部分之一 事务性 NTFS 是它可以工作 与大量其他 交易
  • JavaScript继承框架

    是否有一个小型 轻量级的 JavaScript 类继承解决方案 可以在客户端和服务器端 node js 上正常工作 我不需要一个大的库 只是需要一个允许我声明构造函数和一些方法 然后让类能够继承它的库 John Resig 用大约 25 行