【发布时间】:2012-08-02 14:40:40
【问题描述】:
我想避免记住一个方法的两个名称,一个用于公共访问,一个用于私有访问。从这个意义上说,如果您对两者使用相同的名称,在哪种情况下脚本会失败?以下代码何时会失败?
var TestClass = function() {
function showMessage(text) {
$("div").text(text);
}
return {
showMessage: showMessage
};
}();
我已经在this fiddle 中尝试过,它在 FF、IE、Chrome、Safari 中都能正常工作。 JSLint 对此也无话可说。
我经常看到有人将私有方法命名为 _showMessage 或 showMessageFn。这有充分的理由吗?
我正在寻找的答案是它要么在某些情况下失败,可能会造成混乱,要么只是 JavaScript 人发明了看起来很聪明的约定。
【问题讨论】:
-
这很好用 - 您在内部函数的上下文中定义了一个名为
showMessage()的函数,然后通过导出对象文字的showMessage属性分配和引用它。我能看到的唯一问题是您应该将函数调用包装在括号中以使其更具可读性。 -
谢谢。如果您将其添加为答案,我会接受。
标签: javascript naming-conventions revealing-module-pattern