代码优化–关于减少全局变量的坏影响

  • Post author:
  • Post category:其他


实际上,这些全局变量削弱了程序的灵活性,应该避免使用全局变量。努力减少使用全局变量的方法:在应用程序中创建唯一一个全局变量,并定义该变量为当前应用的容器。


  1. var

    My

    = {};

  2. My.name

    = {
  3. “first-name” : ” first “,
  4. “last-name” : ” last ”
  5. };

  6. My.work

    = {
  7. number : 123,
  8. one : {
  9. name : ” one “,
  10. time : “2012-9-14 12:55”,
  11. city : “beijing”
  12. },
  13. two : {
  14. name : “two”,
  15. time : “2012-9-12 12:42”,
  16. city : “shanghai”
  17. }
  18. };

只要把多个全局变量都追加在一个名称空间下,将显著降低与其他应用程序产生冲突的概率,应用程序也会变得更容易阅读,因为My.work指向的是顶层结构。当然也可以使用闭包体将信息隐藏,它是另一种有效减少“全局污染”的方法。

关于全局变量的处理方法,《JS权威指南》一书中也有相应的描述,



———————–》

但是,这种方法只能减少名字冲突,并不能彻底避免,因为很有可能在两个不同的JS文件中,

都有名字为Class的命名空间。所以,我们又想出用JS的文件名字来定义一个命名空间,这样

大大减少了冲突的概率。在同一个目录下不能有两个重复的文件,所以这样子的方法更加

合理。但是,这样子貌似还是不能彻底消除,所以我们向JAVA语言学习,类似于

com.**.**.class 的命名方式,对大家来说并不陌生,所以我们也可以用同样的方法来实现。

出自《JS权威指南》的一个例子



转载于:https://blog.51cto.com/6221123/1105885


关闭菜单