[英]Mocking private scope identifier with eval
在編寫用於多人游戲的服務器應用程序時,我想到了一些清理代碼的想法。
我在我的應用程序中大量使用Module Pattern
,並使用約定來調用公開的函數public[Function name]
和privates 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塑造成不是它的語言習慣。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.