我希望避免记住一个函数的两个名称,一个用于公共访问,另一个用于私有访问。在这种情况下,如果同时使用相同的名称,脚本会在哪些情况下失败?以下代码将在何时失败?
var TestClass = function() {
function showMessage(text) {
$("div").text(text);
}
return {
showMessage: showMessage
};
}();
我在这个Fiddle里试过了,它可以在Firefox、IE、Chrome、Safari中正常工作。JSLint也没有任何问题。
我经常看到人们将私有方法命名为
_showMessage
或showMessageFn
。这样做有好的理由吗?我想要的答案是,这样做可能在某些情况下失败,会产生混淆,或者只是JavaScript程序员发明惯例来显得聪明。
showMessage()
的函数,然后通过导出的对象字面量的showMessage
属性进行赋值和引用。我唯一能看到的问题是你应该将函数调用括在括号中以使其更易读。 - chrisfrancis27