javascript - Node.js 模块 : correct way to refer to sibling functions

标签 javascript node.js

这是我当前的代码:

var PermissionsChecker = {};

PermissionsChecker.check = function(id) {
  PermissionsChecker.getPermissions(id);
}

PermissionsChecker.getPermissions = function(id) {
  // do stuff
}

两个问题:

  1. 这是构造 node.js 函数的正确方法吗?
  2. .check 中的那一行是引用同级函数的正确方法吗?

谢谢!

最佳答案

完全没问题。一些注意事项:

  • 兄弟函数 实际上并不是同一对象的方法的任何标准术语。小注,但可能会造成混淆。
  • 当函数作为某个对象的方法被调用时,该函数内的 this 的值指的是调用它的对象。也就是说,像这样调用 check:

    PermissionsChecker.check()
    

    ...允许您像这样编写函数:

    PermissionsChecker.check = function(id) {
        this.getPermissions(id);
    }
    

    ...哪个更简洁,可能更常见。

  • 您的问题没有任何内容是针对 node.js 的。这也适用于浏览器(或其他任何地方)中的 JavaScript。

  • 您可以像这样重写示例来节省一些输入:

    var PermissionsChecker = {
        check: function(id) {
            this.getPermissions(id);
        },
        getPermissions: function(id) {
            // do stuff
        }
    };
    

关于javascript - Node.js 模块 : correct way to refer to sibling functions,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8452708/

相关文章:

javascript - 在字符串内回显 PHP

web-applications - Node.js 是否准备好用于业务关键型应用程序?

node.js - 如何使 Node child_process 连续执行

node.js - AWS Cognito 开发工具包 Node.JS 实现

javascript - 如何将字符串参数从 Angular UI 传递到 node.js 后端?

node.js - js应用程序API错误: Forbidden accessing App Engine datastore from local Node.

javascript - 如何遍历 JSON 列表并插入到 HTML 元素中?

c# - 使用 ajax 将模型发送到 Controller ,asp.net mvc

javascript - 如何在 Python 和 JavaScript 中对 "json"嵌套字典进行相同的哈希处理?

c# - JS Metro Style 项目的可移植类库