封装全局变量是很好的JavaScript实践
Is Encapsulating Globals Good JavaScript Practise?
我是javascript的新手,从我正在阅读的全局变量是不好的做法,因为它们污染了全局命名空间。其中之一我经常遇到的问题是可变范围。我在某处读到,解决这两个问题的一种方法是创建一个空对象:
allvars = {}
然后将任何我原本设置为全局的变量,作为属性粘贴到这个对象中:
allvars.animal = 'bear';
allvars.sliderSpeed = 1000;
到目前为止,这对我来说似乎是一个好主意,因为现在我可以在任何地方访问我的变量,无论范围如何,也因为所有的变量都在这个里面
那么这种做事方式有缺点吗?有没有更好的办法?
如果这些变量确实需要在范围内是全局的,并且在任何地方都可以访问,那么这是首选的方法,因为它只在全局命名空间中引入一个全局变量allvars
。如果我是你,我会让这个全局名称更独特一点,这样它就不太可能与其他任何东西冲突。但是,除此之外,你的方向是对的。
当真正进入面向对象编程时,真正需要全局化的东西会越来越少,因为您可以将大部分状态存储在相关(非全局)对象上并在那里访问它们。显然,我们不了解你的应用程序,所以我们无法真正评论这些设置是否需要全局
相关文章:
- 与运行长作业(javascript,node.js)的第三方API同步的最佳实践
- javascript导入的最佳实践是什么
- Javascript对象创建实践
- 就良好实践而言,带闭包的javascript原型是一件好事吗
- 防止WordPress javascript冲突的良好实践
- 返回多个变量的 JavaScript 函数:数组与对象.最佳实践是什么
- Javascript 命名空间/最佳实践
- 组合不同 Javascript SDK 回调的最佳实践
- 在页面中包含 CSS 和 JavaScript 的最佳实践是什么?
- 用于组织大型javascript应用程序的工具和最佳实践
- 网站范围内jQuery/javascript选择器的最佳实践
- Javascript最佳实践-使用服务器端值
- 使用phonegap在jquery-mobile中链接页面/加载javascript的最佳实践是什么
- 函数式JavaScript:避免参数突变的良好实践
- Javascript注释实践
- 在Javascript中声明数组时,应遵循哪一种最佳实践
- JavaScript原型与实践中的对比
- PHP模板javascript最佳实践
- 遍历整个数组的标准JavaScript实践
- 封装全局变量是很好的JavaScript实践