使用extend.js有什么好处?

2023-12-19

我刚刚认识扩展.js https://github.com/searls/extend.js,并且想知道使用该库是否比使用本机 JavaScript 具有附加价值。让我演示一下;

With 扩展.js,我会声明一个命名空间,如下所示:

extend('some.madeup.namespace',{
   foo : 'bar'
});

……如果没有它,我只需要这样做:

var some = { madeup : { namespace : { foo : 'bar' } } };

我是 KISS 原则的坚定信徒,并且我真的认为应该减少外部依赖以使事情变得更简单。因此,如果这个库所做的只是为我节省了(一次性)赋值声明,我会考虑是否值得这么麻烦。

我在这里缺少什么吗?这就是全部吗?


我怀疑这个问题的合理答案很大程度上依赖于任何第三方工具的通用答案。

当第三方工具可以帮助他们更快、更优雅地完成工作时,人们就会使用它,至少理论上是这样。但有些人,包括我自己,发现减少依赖性并从头开始实现更优雅。对我们来说,在我们的项目中加入糖分没有什么价值,因为这会贬低我们的原则。

对于其他人来说,它具有价值,因为它减少了他们必须编写的代码量,并且可能感觉稍微更加结构化。他们自己也会进行相同的抽象,因此使用经过深思熟虑和测试的库是有意义的。

它在很大程度上取决于您的个人喜好和使用情况。诚然,我没有特别讨论这个库的用法,它只有 51 行代码。阅读它提供的功能并得出自己的结论应该不会花很长时间。

据我所知,这个库只是创建命名空间层次结构并检查冲突的命名空间。大多数代码似乎都专注于创建层次结构和验证名称空间的唯一性。对我来说,这表明它被设计为在可能发生冲突的情况下的通用工具 - 假设您正在发布自己的库以供大众消费。

如果你想听听我的意见,那将是一个不会主动使用它的人。命名空间实际上是不必要的。如果您确实担心命名空间冲突,那么防止窗口上的多个命名空间冲突的所有努力听起来确实是必要的,但任何好的设计都不会如此。

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

使用extend.js有什么好处? 的相关文章

随机推荐

  • 如何获取http.Request中的URL

    我建立了一个 HTTP 服务器 我使用下面的代码来获取请求 URL 但它没有获取完整的 URL func Handler w http ResponseWriter r http Request fmt Printf Req s s r U
  • 图像在 PictureBox 中旋转

    正如问题所暗示的 当我将图像加载到图片框 使用对话框 中时 它不会以其原始外观显示 在此屏幕截图中 左侧的图像是我加载到图片框 右侧 中的图像 Trying to know what causes this I draw an image
  • 我*必须*在 Silverlight WCF 客户端中使用 ObservableCollection 吗?

    当在 WCF 中访问 Silverlight 时 您会得到生成的代理可观察集合 http sweux com blogs psampaio index php 2009 04 28 an introduction to observable
  • 将 JSON 字符串转换为 HashMap

    我正在使用 Java 并且我有一个 JSON 字符串 name abc email id email protected cdn cgi l email protection email protected cdn cgi l email
  • 谷歌地图中的标记掉落事件?

    当用户在地图上放置标记时 我需要触发一个事件 我有代码可以让他们删除标记 但我不知道如何触发该事件 有小费吗 通过标记事件拖拽 您可以获得标记放置位置的纬度 这是你需要的吗 google maps event addListener Mar
  • 如何将 Access 数据库中的所有表导出到 Excel - 每个表一个工作表

    我有一个包含约 30 个表的 Access 数据库 如何将所有 30 个表格导出到 Excel 工作簿中的单独工作表中 我希望找到一些可以从 Access 中运行的 VBA VBS 代码来完成此任务 有任何想法吗 你应该能够做这样的事情 D
  • 删除两个方向的 n 行以及 sed 中的匹配项?

    在运行之前删除匹配项和两行 sed i bak e match 2d someCommonName txt 运行后删除匹配项和两行 sed i bak e match 2d someCommonName txt 但是删除匹配项 其后两行和其
  • WriteAsync 超时

    我尝试编写一个带有超时的简单异步写入代码 如下所示 并期望该函数在给定非常大的缓冲区和较小的 waitTime 的情况下抛出 TaskCanceledException 然而 这并没有发生 WriteAsync 将阻塞很多秒 直到写入完成
  • 哪个队列与 requestAnimationFrame 关联?

    今天我在接受采访时被问到这个问题 我无法回答这个问题 面试官说有一个特殊的队列用于 requestAnimationFrame 回调 但我找不到任何这方面的信息 如果 rAF 有它自己的队列 那么为什么这个队列从未在任何地方被提及 当我们谈
  • Swift:呈现主要和替代(登录/入门)流程时出现视觉故障? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我有一个应用程序需要用户登录或创建帐户第一次启动应用程序时 虽然一般不建议这样做 但这是一个非常具体的用例 此外 如果他们已经登录 当
  • 有人能够在 python 中使用 poppler new_from_data 吗?

    使用Python3和Poppler 我可以毫无问题地使用new from file加载文件 但是new from data有问题 这是显然是一个简单测试的代码 因为从文件读取然后使用 new from data 没有意义 因为 new fr
  • 在分组依据查询中包含缺失的月份

    我想我这里有一个艰难的人 我试图按月获取订单数 即使为零 这是问题查询 SELECT datename month OrderDate as Month COUNT OrderNumber AS Orders FROM OrderTable
  • 方法引用与 lambda 表达式

    我想用下面示例中的方法引用替换 lambda 表达式 public class Example public static void main String args List
  • 使用 JavaScript 的逻辑运算符压缩 if/else if 语句

    我正在学习 AngularJS 试图制作一个简单的计算器 并且我正在尝试压缩它if else if 陈述使用 Javascript 逻辑运算符 鉴于这个例子 我怎样才能减少它呢 如果你不明白 scope 忽略它 它基本上是一个视图 因此 当
  • 在引导程序轮播中加载多个谷歌图表

    我创建了一个引导程序轮播来说明我们公司的数据 在这个轮播中 我有引导表 图片和两个谷歌图表 饼图和堆积条形图 如果我没有为谷歌图表保留活动类 它们将无法正确加载 有时图表大小会发生变化 有时图例不会显示 如果我使饼图处于活动状态 则它可以正
  • Clojure 中的自动 TCO

    有没有办法在 Clojure 中定义自动尾部调用优化的函数 e g defrecur fact x if x 1 1 x fact dec x 将在内部翻译为 defn fact x loop n x f 1 if n 1 f recur
  • HTML 服务提交表单不调用 google.script.run 函数

    我有一个脚本曾经工作得很好 但突然停止工作了 用户从用户创建的菜单中选择一个选项 该菜单将启动一个对话框 HTML 服务表单 来收集两个参数 这一切工作正常 当用户提交表单时 应执行此代码
  • Rails:相同两个模型之间的多个联接表

    我有两个模型 玩家和事件 它们之间有两个连接表 参与者和课程 class Event has many participants has many players through participants has many lessons
  • SSIS 包中 ReadUncommissed 隔离级别的解决方法

    SSIS 中的 ReadUncomfilled IsolationLevel 是 Microsoft 承认的一个错误 但 不会修复 如下所述 http connect microsoft com SQLServer feedback det
  • 使用extend.js有什么好处?

    我刚刚认识扩展 js https github com searls extend js 并且想知道使用该库是否比使用本机 JavaScript 具有附加价值 让我演示一下 With 扩展 js 我会声明一个命名空间 如下所示 extend