javascript - 事件处理程序命名的 Backbone.js 最佳实践

标签 javascript events backbone.js naming-conventions

假设我在一个 View 中有一个函数,它会在某种状态发生变化时触发。 最好将其命名为什么?为什么?

  • 状态变化
  • 状态改变
  • onStateChange
  • onStateChanged

最佳答案

我个人更喜欢使用 onEventName 名称保持 DOM 事件处理程序的 native 命名约定。

myElement.onclick = function() { /* ... */ }对于 click事件。

所以对于 myEvent 我正在使用名为 onMyEvent 的处理程序.

如果我有事件 stateChange ,那么我将使用 onStateChange 处理程序。

但实际上,这个问题对于每个开发人员团队和团队/公司内部的代码风格约定来说更为具体。

所以这类问题的主要目标是保持所有部分的代码风格相同,以确保可读性。

因此,如果您在团队中工作,请遵守团队的代码编写约定;如果您单独处理现有代码,请尽量保持其代码风格(确保该风格不会明显难看)。

更新:理解。

什么是事件? 大致是在程序外或程序内发起的 Action ,换句话说,系统中发生了一些事情,例如一些状态变化(键盘、鼠标、I/O 设备等的状态)与如何(用户单击鼠标或某些程序向系统发送鼠标单击信号)无关。

假设浏览器窗口已订阅以获取有关某些事件的通知,并且操作系统会尽快将它们发送给它,我们假设在发生某些事情的同时。因此,如果用户在浏览器窗口处于事件状态且文档具有焦点时单击鼠标,浏览器会告诉文档触发 click。事件。这是我们的 onclick处理程序开始调用。换句话说,系统告诉我们现在发生了某些状态的变化。我们正在处理此更改,而不是处理告诉我们状态已更改的事实。

假设我们的处理程序名为 onClicked . 由于处理程序的名称用过去时表示,我们可以得到一个合理的问题:“点击时,它发生了多久?点击了多少次?嗯,也许现在处理这个 Action (或 Action )为时已晚?)根本……”。所以这个名字告诉我们过去某个时候发生过某事。

相比之下,当我们的处理程序被命名为 onClick 很明显 click事件刚刚触发并触发了一次,我们立即收到了通知。我们将处理 点击事件 - 告诉我们鼠标状态现在改变的信息(不是鼠标 < strong>点击,但点击事件)。

所以过去时的名称更适合我们需要检查某些状态是否已更改的情况。例如。如果变量存储 state = 1我们可以调用函数 isStateChanged(); 这将比较 state 中的值当前时刻具有实际值的变量。在这里,过去时是一个不错的命名选择。

关于javascript - 事件处理程序命名的 Backbone.js 最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11990176/

相关文章:

iframe 中的 JavaScript getElementById

jquery Event.stopPropagation() 似乎不起作用

java - 如何将事件与对象关联起来?

security - 如何保护 REST API 调用的安全?

javascript - 获取一行中表格单元格的值(JS 或 jQuery)

javascript - Meteor - 从客户端取消服务器方法

javascript - 从 AJAX 调用下载文件

iphone - 如何在 CALayer 上获取触摸事件?

javascript - 用于 JavaScript 的轻量级 MVC 框架

javascript - 主干调用在 React 组件函数中不起作用