将函数放入对象中与对其进行原型设计之间有什么区别?

2024-01-08

向对象添加函数和将函数原型化到对象上有什么区别?

原型设计允许对象/模型调用自身吗?


“函数对象”通常用于对一组函数进行“命名空间”,以便一个容器对象具有许多方法而不是许多全局函数。这样做的好处是保持代码组件按对象(可能还有对象层次结构)进行分类或分组,对性能没有任何好处,并且如果全局函数经过深思熟虑地命名,则应该不会出现命名冲突的合理机会。也就是说,主要目的是创建整洁、逻辑性的函数组。

我认为“原型方法”是指使用构造函数来创建实例。构造函数和原型用于需要继承的地方,它们是与“命名空间”完全不同的策略,其中一个的使用并不排除另一个。使用原型进行继承并使用“函数对象”对实例(以及与此相关的构造函数)进行分组是相当合理的。

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

将函数放入对象中与对其进行原型设计之间有什么区别? 的相关文章

  • Jquery获取选中的复选框

    您好 我想获取页面中选定复选框的列表 实际上我真正需要的是获取复选框旁边的元素的文本 该元素是一个 html 元素 li 代码如下 但它不起作用 这是我当前的 jQuery document ready function target cl
  • 在 HTML5 Javascript 中将 BlobBuilder 转换为字符串

    function blobToString blob var reader new FileReader var d reader onloadend function d callback reader result console lo
  • Jquery 悬停卡

    我在用着http designwithpc com Plugins Hovercard http designwithpc com Plugins Hovercard 但我不知道如何在悬停卡上声明 var 每个工作描述都有自己的 ID 当悬
  • 显示具有多个父代的 D3 树

    我目前有this http bl ocks org mbostock 4339083图已实现 我希望在描述具有多个父节点的子节点时保持结构和可折叠性 有没有办法做到这一点 我研究了力图 但我也想保留一组层次结构 这意味着 1 级的父级可以有
  • Vue 3 Composition API 提供/注入在单文件组件中不起作用

    我正在使用 Composition API 在 VueJS 3 中创建一个库 我实现了提供 注入 如中所述docs https v3 vuejs org guide composition api provide inject html i
  • 位置特征检测:固定

    我正在尝试找到一个脚本来检测设备是否放置position fixed元素相对于视口而不是整个文档 目前 标准桌面浏览器和 Mobile Safari 适用于 iOS 5 都是这样做的 而 Android 设备则相对于整个文档放置固定元素 我
  • 在版本 4.4.6 中禁用 ckeditor 上下文菜单

    我在 Rails4 项目中使用 ckeditor 我尝试了 ckeditor gem 和 ckeditor rails gem 来提供 ckeditor 库 这里有多个帖子 人们希望删除 ckeditor 上下文菜单 以便可以显示本机浏览器
  • 如何使用有角度的材料创建卡片网格?

    我正在尝试使用 ng repeat 创建每行三张卡片的网格 我有一个普通的 javascript 对象数组附加到范围 下面的代码将为每张卡创建一个新行 div div
  • Number.IsNaN() 比 isNaN() 更糟糕吗

    Soooooo isNaNJavaScript 显然被破坏了 比如 isNaN isNaN isNaN true isNaN false isNaN 0 返回 false 当它们看起来都是 不是数字 在 ECMAScript 6 中 草案包
  • nodejs (libuv) 事件循环是否在一个阶段(队列)中执行所有回调,然后再进入下一阶段或以循环方式运行?

    我正在研究 Node js 中 libuv 提供的事件循环 我遇到了关注 Deepal Jayasekara 的博客 https blog insiderattack net event loop and the big picture n
  • IntersectionObserver是否支持水平滚动观察?

    我制作了几个垂直滚动 IntersectionObserver 模块 但我对水平滚动感兴趣 根将是 div 观察目标将是 img 我想观察当 img 放大但 div 保持视口宽度时的变化 我什至不确定移动 Safari 是否会将缩放后的图片
  • 导航栏下拉菜单(折叠)在 Bootstrap 5 中不起作用

    我在尝试使用以下命令创建响应式菜单或下拉按钮时遇到问题Bootstrap 5一切似乎都正常 导航图标和下拉图标出现 但它不起作用 当我单击nav图标或dropdown按钮 无dropdown menu apears 我想特别提到的是 我还包
  • 为什么 setTimeout 在 Chrome 中触发两次,而在 IE 或 Firefox 中则不然?

    有人能告诉我为什么 javascript 函数 生成新号码 在 Chrome 中触发两次 但在 IE 或 Firefox 中则不会 使用 Chrome 20 0 1132 57 IE9 和 Firefox 13
  • 计算三次贝塞尔曲线的弧长、曲线长度。为什么不工作?

    我正在用这个算法计算弧长 三次贝塞尔曲线的长度 function getArcLength path var STEPS 1000 gt precision var t 1 STEPS var aX 0 var aY 0 var bX 0
  • 如何使用 Javascript 设置查询字符串

    有没有办法使用 javascript 设置查询字符串的值 我的页面有一个过滤器列表 单击该列表时 它将更改右侧的页内结果窗格 我正在尝试更新 url 的查询字符串值 因此如果用户离开页面 然后单击 后退 按钮 他们将返回到最后一个过滤器选择
  • 如何始终将焦点保持在文本框中

    我创建了一个包含两个 div 的 HTML 页面 左侧的 div 页面的 90 是 ajax 结果的目标 右侧的 div 页面的 10 包含一个文本框 该页面的想法是在文本框中输入零件编号 通过条形码扫描仪 并显示与该零件编号匹配的绘图 显
  • 表单发布请求并存储收到的数据

    我有一个非常简单的表单 在提交时发出发布请求
  • Google Maps API (v3) 添加/更新标记

    编辑 它现在可以工作 但如果用户不允许或没有基于位置的服务 则不会加载 请参阅 jsfiddle 示例接受的答案评论 我已经浏览了一些教程和问题 但我无法安静地理解正在发生的事情 或者在这种情况下 没有发生 当用户单击链接时 我正在加载地图
  • 滚动顶部不符合预期

    Note 由于上次忘记奖励而重新开放赏金 A Woff 大师已经给出答案 我想在用户展开某一行时到达该行 这样当最后一个可见行展开时 用户不必向下滚动即可查看内容 I used example tbody on click td green
  • 将数组从 jquery ajax 传递到代码后面

    我必须将二维数组传递给在asp net网页代码后面编写的页面方法我有一个变量objList作为二维数组 我使用以下代码来实现此目的 但没有成功 并且未调用页面方法 脚本语言 function BindTable objList ajax u

随机推荐

  • 创建顺序计数器,根据面板数据组内的条件重新启动[重复]

    这个问题在这里已经有答案了 我有一个面板数据集 我想为其创建一个计数器 该计数器随着面板中的每个步骤而增加 但每当发生某些情况时就会重新启动 就我而言 我使用的是国家 地区年份数据 并且想要计算事件之间的年份间隔 这是一个玩具数据集 其中包
  • 有浏览器实现了 DOM3 EventListenerList 吗?

    早在 2010 年 3 月 答案就是 不 浏览器事件监听器列表实现 https stackoverflow com questions 2424737 browser eventlistenerlist implementation 我想知
  • Python 相当于 LINQ All 函数?

    测试集合中的所有元素是否满足条件的惯用 Python 方法是什么 这 NET All method http msdn microsoft com en us library bb548541 aspxC 很好地填补了这个空白 有一个明显的
  • 在错误的位置包含标题 Laravel 4

    我试图首先包含 header blade php 然后包含内容 但它包含错误的方式 include site components header yield content include site components footer 渲染
  • Android 4.0 模拟器无法启动

    当尝试创建并启动 Android 4 0 模拟器时 我获得了 Android 模拟器皮肤 但操作系统似乎无法启动 我已从 Android SDK 管理器安装了 ARM EABI v7 软件包 尝试创建模拟器 但收到有关缺少 userdata
  • 正则表达式匹配不相等或不反转的数字组

    我在这里指的是这个问题的后续 正则表达式匹配两个不相等的数字 https stackoverflow com questions 5257685 regular expression to match two numbers that ar
  • Swift 3 / iOS 10 / TodayExtension - UserDefaults 始终返回 nil

    这是我在这个网站上的第一个问题 我有一个无法解决的问题 我正在开发一个带有 Today 扩展的简单笔记应用程序 我在 Swift 2 2 和 iOS 9 中没有遇到任何问题 问题只出现在 iOS 10 上的 Swift 2 3 和 Swif
  • 从 Python 访问 COM 方法

    我有一个旧的 Windows DLL 没有源代码 它实现了实用函数表 几年前 计划将其转换为 COM 对象 以便实现 IUnknown 接口 为了使用这个 DLL 有一个头文件 简化的 interface IFunctions public
  • 在编写 C 代码时如何优雅地利用 REV 和 RBIT 等 ARM 指令?

    我正在编写可以为 Arm Cortex M3 微控制器编译的 C 代码 该微控制器支持多种有用的指令 可有效操作寄存器中的位 包括 REV RBIT SXT 在编写C代码时 如果我需要那些特定的功能 如何利用这些指令 例如 我怎样才能完成这
  • Django:标记为已读“通知”

    我正在做一个学校项目 现在任何用户都可以提出问题 为了在任何用户提出问题时通知所有用户 我创建了一个新应用程序 并在提出问题时通过简单的 视图 通知他们 但这还只是普通的通知 用户打开 通知 选项卡后 如何将它们标记为已读 就像在社交网络上
  • 如何从浏览器读取客户端的机器/计算机名称?

    如何从浏览器读取客户端的机器 计算机名称 是否可以使用 JavaScript 和 或 ASP NET 您 有时 可以使用 IE 来完成此操作 因为我已经在只有 IE 的 Intranet 上的内部应用程序中完成了此操作 请尝试以下操作 fu
  • 按字符串选择列时,Dplyr 的 tbl_df 会出现意外行为

    通常 当以编程方式使用 dplyr 时 我希望通过名称选择列 其中列名称作为字符串存储在某个变量中 我注意到尝试使用 dplyr 执行此操作通常会导致意外结果 这似乎是由于 tbl df 的处理方式造成的 以下是一些示例 regular d
  • 如何将一个函数作为参数传递给另一个函数

    我想将一个函数作为参数传递给另一个函数 例如 void myFunction boolean coondition void function if condition function 在 Java 8 中这可能吗 不 你不能传递方法 但
  • 从c# 连接到oracle

    我正在尝试从 C 连接 Oracle 11g 我已关注 此链接 定义了连接别名 如下所示 moviess DESCRIPTION ADDRESS PROTOCOL TCP HOST localhost PORT 1521 CONNECT D
  • Entity Framework 4.1 Fluent API 中具有联接表和可选关系的一对多

    再次使用无法更改的旧数据库 并使用 Entity Framework 4 1 和 Fluent API 仅读取数据 public class Client Key public int ClientID get set public str
  • 如何 Dockerize Windows 应用程序

    我有一个 Windows 应用程序 我想将其容器化 它是一个 Windows 桌面应用程序 不是 Web 应用程序 我做了一些搜索 发现关于容器化桌面应用程序的信息很少 我想要容器化的应用程序在 WindowsServerCore 上运行良
  • Angular4 更改 md 按钮的波纹颜色

    我使用 Material for Angular4 在网页中创建了一个 md 按钮 有没有办法改变波纹效果的颜色并使其变为白色 我还可以更改其他波纹属性 例如波纹效果的持续时间吗 事实证明 为了更改波纹属性 应该在 mat ripple t
  • BehaviourSubject 初始值不适用于 share()

    share 运算符应用于BehaviorSubject BehaviourSubject 有初始值 目标是创建单个共享订阅 但是当BehaviorSubject有初始值时 这种共享订阅似乎不起作用 得到意想不到的结果 代码如下所示 let
  • 使用我自己的实体而不是 POCO 实体

    我正在使用实体框架 我可以使用自己的实体来代替 POCO 实体吗 我可以使用任何实体 或者实体名称和成员有任何限制吗 如果实体的成员与字段的名称不同 如何在 db 字段与实体的成员本身之间映射 UPDATE我已经拥有数据库广告一个大型项目
  • 将函数放入对象中与对其进行原型设计之间有什么区别?

    向对象添加函数和将函数原型化到对象上有什么区别 原型设计允许对象 模型调用自身吗 函数对象 通常用于对一组函数进行 命名空间 以便一个容器对象具有许多方法而不是许多全局函数 这样做的好处是保持代码组件按对象 可能还有对象层次结构 进行分类或