簡體   English   中英

用eval模擬私有范圍標識符

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM