这是我目前的代码:
var PermissionsChecker = {};
PermissionsChecker.check = function(id) {
PermissionsChecker.getPermissions(id);
}
PermissionsChecker.getPermissions = function(id) {
// do stuff
}
两个问题:
.check
中的那一行是否是引用兄弟函数的正确方法?谢谢!
答案 0 :(得分:2)
只要使用PermissionsChecker.check()
调用该函数,就可以使用this
引用该对象。
答案 1 :(得分:2)
你上面所做的事情被称为对象文字,但你也可以选择原型方式(当你需要实例化对象时 - OOP的东西)。
你可以在里面调用它来引用另一个对象属性:
PermissionsChecker.check = function(id) {
this.getPermissions(id);
}
答案 2 :(得分:2)
完全没问题。一些说明:
当函数作为某个对象的方法被调用时,该函数内的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
}
};