我的 JavaScript 模式/实践很糟糕。我应该去哪里寻求帮助?

2023-12-23

在过去的几年里,我几乎专门从事后端任务,我刚刚注意到,在我不在的情况下,大多数 JavaScript(和 CoffeeScript)项目都变得非常漂亮。

我主要在 Rails 环境中工作,几乎所有的 JavaScript/jQuery 过去都是这样的:

$(an_element).an_event(function() {
  stuff_i_want_to_do;
})

$(another_element).some_other_event(function() {
  some_other_stuff_i_want_to_do;
})

除了回调之外,基本上就是这样。

不管怎样,我只是浏览了一些其他人的代码,发现在我不在的情况下,许多 JavaScript 开发人员变得更加漂亮了。这并不复杂,但它是我见过的更新/更好的 JavaScript 方法的典型:

jQuery -> 
  if $('#products').length
    new ProductsPager()

class ProductsPager
  constructor: (@page = 1) ->
    $(window).scroll(@check)

  check: =>
    if @nearBottom()
      @page++
      $(window).unbind('scroll', @check)
      $.getJSON($('#products').data('json-url'), page: @page, @render)
#

  nearBottom: =>
    $(window).scrollTop() > $(document).height() - $(window).height() - 50

  render: (products) =>
    for product in products
      $('#products').append Mustache.to_html($('#product_template').html(), product)
    $(window).scroll(@check) if products.length > 0

我一直在寻找有关 JavaScript(和/或 CoffeeScript)现代最佳实践/模式的资源,但运气不佳。简而言之,我应该在哪里了解最新的 re: best javascript/coffeescript 现代模式和实践?


JavaScript 资源

大规模 JavaScript 应用程序架构的模式 http://addyosmani.com/blog/patterns-for-large-scale-javascript-application-architecture/

初学者必备的 JavaScript 设计模式,第 1 卷。 http://addyosmani.com/resources/essentialjsdesignpatterns/book/

JavaScript 模式 https://rads.stackoverflow.com/amzn/click/com/0596806752

jQuery 特定的

jQuery 应用程序架构工具 http://addyosmani.com/toolsforjqueryapparchitecture/

咖啡脚本

http://coffeescriptcookbook.com/chapters/design_patterns/ http://coffeescriptcookbook.com/chapters/design_patterns/

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

我的 JavaScript 模式/实践很糟糕。我应该去哪里寻求帮助? 的相关文章

  • Jquery 禁用下拉列表中的选项

    伙计们 我使用下面的代码来禁用使用 jQuery 的选项 jquery 1 4 2 min 禁用发生在 Firefox 中 但不会发生在 IE 中
  • 占位符更改时在 Internet Explorer 上触发输入事件

    正如这个所示jsfiddle 示例 http jsfiddle net wWbE7 5 当我更改占位符时 它会触发输入事件 我在 I E 11 版本上测试了它 但我猜旧版本也有同样的问题 其他浏览器的行为并非如此 这是 I E 错误吗 如果
  • doPostback 在 IE 11+ Windows 8.1 中失败

    我在 Windows 8 1 预览版的 IE 11 中收到空白页面 检查页面后 我认为以下代码可能是罪魁祸首 因为在这些行之后没有进一步的行显示调试器窗口 因此代码在该行之后中断 IE 11
  • 字体大小缩放取决于文本和父 div 的长度

    反应 Javascript 我有一个 div 它包含一个段落 这是一个问题框 因此可以更长或更短 我想解决这个段落是否较长 文本数量 的问题 然后缩小字体大小以使文本适合 div 如果段落较短 请放大字体大小 字体大小限制不是最好的方法 我
  • 是什么导致 console.timeEnd() 中出现“myTimer 不存在”错误?

    我为 RxJS 创建了一个演示scan 方法 但不幸的是我的计时器无法正常工作 并且出现此错误 Timer myTimer does not exist console time myTimer let source Rx Observab
  • 当自定义属性不等于 x 时,通过 .class 删除

    我拥有的 我有一个选择元素 有些选项同时具有类 filterable option 和自定义属性 data clienturn 我需要的 基于另一个元素的更改事件 我需要从选择元素中删除以下选项 被归类为 filterable option
  • 是否可以反转类中包含的模块?

    您可以将模块包含在类中 以通过向特定类添加类方法和实例方法来扩展类功能 module M def self class method from module from class method from module end def ins
  • 格式良好的源代码

    源代码已使用换行符和空格进行格式化 Goals keep source formatting as long as lines fit in the screen horizontally e g pre 在左侧显示与行对齐的行号 例如 行
  • 如何根据所选类别隐藏 Django 表单中的字段?

    我需要确保当您添加新广告时 选择一个类别 隐藏表单中不必要的字段 我明白这是用JS做的 但暂时不太明白 所以我告诉你是否有人擅长 例如 我希望在选择 房屋和土地 时 舞台 消失 上市型号 class Listing models Model
  • EmberJS 支持单字母单词模型吗?

    我无法真正确定问题是 Ember 还是 Ember 数据 或者甚至是一个问题 但发生的情况如下 假设你的模型被称为tell me a story 如果您使用 ActiveModelAdapter 这将是您的 JSON 应该提供的名称 无论如
  • 设置 iframe 内容的样式

    是否有可能设置 iframe 内容的样式 我正在研究 Google 集成 并将 iframe 与文档一起包含在内 这个谷歌文档有我不想显示的菜单 文件 编辑 是否有可能针对此元素并赋予它们诸如 显示 无 或者只是以某种方式隐藏这些元素 Th
  • 推送到 Heroku 时出错 - ...出现在组中 - Ruby on Rails

    我正在尝试将我的第一个 Rails 应用程序部署到 Heroku 但似乎遇到了问题 后git push heroku master and heroku rake db migrate我收到一条错误消息 SELECT posts count
  • 以编程方式更改动画规则中的 webkit-transformation 值

    我有这个样式表 webkit keyframes run 0 webkit transform translate3d 0px 0px 0px 100 webkit transform translate3d 0px 1620px 0px
  • 如何通过javascript设置content-disposition = Attachment?

    我该如何设置content disposition attachment通过JavaScript 基本上 我想在页面通过 Javascript 加载后使用 Firefox 强制执行 另存为 操作 我怎样才能做到这一点 内容处置是响应头 ht
  • 通过 jquery/ajax 在表单提交中传递数据

    我想使用 jquery ajax 提交一个包含大约 10 个输入的表单 但我不知道如何通过 ajax 的数据参数将数据传递给它 我应该序列化它们吗 The jQuery 序列化 http api jquery com serialize 可
  • 每 2 秒打印一次从 1 到 10 的数字

    我想每 n 秒后打印一次数字 并且根据一些条件我正在更改计时器以及停止打印功能 我已经这样做了 var myfunc value 1 running false timer 1000 start function this running
  • Three.js 变换控件 - 如何仅显示两个箭头

    我必须仅使用场景中的变换控件在 XY 方向上显示两个箭头或变换对象 通常 我会问您到目前为止尝试过什么 但是没有关于此控件的文档 如果您不知道自己在寻找什么 那么它是一个相当复杂的对象 需要深入研究 考虑你有一个TranformContro
  • 让 Jsoup 支持通过 JavaScript 动态生成 html

    现在我正在开发一个网络爬虫 这个应该解析一些特定的站点并将输出输出到 xml 文件中 到目前为止 没有问题 Crawler 可以工作 您可以通过 cfg 文件快速自定义它 我使用 Jsoup 来解析 HTML 内容 我刚刚添加了几个站点 发
  • 获取数组中最高的角色

    我目前有一个数组u roles其中充满了来自 581199939464462340 等组的 ID 其次 我有一个字典 其中键是角色 ID 值是名称 例如 key 581199939464462340 value Member 现在我想获取数
  • 要求节点模块 var 或 const 的最佳方法是什么?

    当我们需要诸如express或bodyParser之类的节点模块时 我们将使用var关键字创建变量并分配模块 我们不能用const声明这样的模块 也就是说 代替这个 var express require express var app e

随机推荐