在为多人游戏编写服务器应用程序时,我有了一个清理代码的想法。
我在应用程序中大量使用Module Pattern
,并使用约定调用公开函数public[Function name]
和私有函数private[Function name]
。public
前缀有助于返回分配:
return {
get : publicGet
}
但私有标识符名称只是为了显示,所以调用它们有点麻烦。然而,完全删除private
前缀会使代码的可读性有所降低。因此,我考虑像在Java中那样使用保留的private
关键字。
为了做到这一点,我想我可以像这样使用eval
:
var private = eval('') // Just an empty assignment so it does nothing.
所以我可以这样写我的私人函数:
private function initiateGameMatchmaker(game) {
// Code...
}
代替:
function privateInitiateGameMatchmaker(game) {
// Code...
}
这是可以接受的吗?还是你认为这是一个肮脏的黑客行为,因此是一个明确的"不"?
接受与否,都不会起作用。
private
将是undefined
,而private function foo(){}
将抛出一个SyntaxError: Unexpected token function
。
不要试图将JavaScript塑造成一种语言的惯例——事实并非如此。