我有一个非常大的JavaScript对象,用于存储RPG对话框,包含几个大型顶级对象。该对话框的格式类似于JSON。
在组织对话框时,我应该将每个顶级类别放在自己的功能中吗?
或许他们自己单独的javascript文件?
将所有文本保留在一个javascript(var json =
)对象中会影响性能吗?
任何组织提示都将不胜感激!
答案 0 :(得分:1)
您应该尽可能地尝试限制耦合。因此将它们分成单独的函数是有意义的,但请参阅关于数据库的第3点。
如果它太大而无法轻松管理,您可以将它们分成单独的javascript文件。您可以随时拥有一个构建过程,将它们全部整合在一起(有关此技术的更多信息,请查看html5 boilerplate)。
此时可能不会对性能产生太大影响。我可能会建议您在将来使用类似mongoDB的内容,因为您可以获得更多数据。看一下meteor js以获得灵感。如果你做得对,使用数据库可以简化你的代码。
答案 1 :(得分:0)
解决问题1,这听起来像JSONP?稍微不一样。
我建议,解析时性能差异可以忽略不计,但是如果使用JSONP并将<script/>
元素注入DOM文件大小成为一个因素,那么将相关数据分组到单独的文件中以便可以检索它是明智的选择性。
如果不使用JSONP,显然在顶级,您可以将对象分成数组或一个键控对象。
答案 2 :(得分:0)
我在编辑之前看到了你的问题,对我而言,它不仅仅是关于JSON的 。我理解meagar编辑背后的原因,但我不同意。我认为你应该放弃技术细节,专注于你的数据 。您正在使用JSON文件编写游戏的故事。这真的合适还是方便?我个人不这么认为。我的意思是,如果你对此感到满意,那么肯定会把自己打倒。我自己,我会使用普通和简单的文本文件来保存该对话框(文件中的1行= 1行对话框,文件名= NPC或者过场动画的名字)它们更适合讲故事恕我直言。
我的意思是,将该对话写入用于写作的内容中。 JSON是一种数据交换格式,当然,它是人类可读的。这并不意味着它应该是人类编写的。
然后,当你有自己的故事时,如果你想让你的游戏以JSON形式使用这些数据,那么就在这堆文件周围写一些包装器。当然,它看起来更多的工作,但我认为它更灵活。嗯,这就是我要做的事情。祝你好运。