如何在面向对象的javascript函数中更好地定义全局变量
How can I define a global variable in object-oriented javascript function better
假设我有一个函数:
function test(){
//should I define global variable here
//like window.arr=new Array()?
}
//can I define here
//window.arr=new Array()?
test.prototype.method01=function(){
//or here:window.arr=new Array()?
}
在以上三种方法中,哪一种更好?
如果它是全局的,那么您很可能希望在函数之外定义它。这是因为如果它是全局的,您希望任何/所有函数都可以访问它。
JavaScript是在它进入时被解释的。如果你在函数外定义它,它将在被解释时被声明,如果它在函数内被调用,它将被声明为函数被调用。
全局变量通常是个坏主意。你能做的最好的事情就是尽量减少它的影响。创建一个全局变量,该变量将成为您的应用程序容器,例如:
var APP = {};
APP.my_array = [];
我建议您检查JavaScript:TheGoodParts
您可以定义全局变量,以上情况都可以。
但最大的区别是,你必须调用函数才能获得数组
除了第二种情况。
如果你要定义一个全局变量(一开始有点可疑,甚至全局变量都应该有名称空间),不要把它放在难以追踪的地方——保持它在顶级,不受影响,这样很容易发现。
相关文章:
- 有没有更好的动手、具体的方法来学习Javascript
- 为什么不推荐使用“with”?是否有更好或其他方法可以“下降”到对象的命名空间
- 在JavaScript中拆分日期字符串的更好方法是什么
- 为什么$.brower被弃用?还有什么更好的替代方案
- 设置嵌套对象属性的更好方法
- 您有更好的动态方式来缩短复杂的代码jquery吗
- 在速度方面,使用变量而不是重新定义jquery对象更好吗
- JavaScript 自定义事件或普通函数调用中哪个更好
- 添加自定义属性以更好地分离 JavaScript 和 HTML
- 对象不为 null,也不未定义.更好的是 - 双重反转'!!' 或 JavaScript 中的严格等价性 '!=='
- 改进这个自定义函数addClassIfVarDefined()或共享更好的解决方案
- 如何在面向对象的javascript函数中更好地定义全局变量
- 对自定义事件作出反应的更好方式
- 这是定义函数更好的方法
- 不能使用复杂度度量定义更好的算法
- 如何更好地定义JQuery数据表列呈现
- 提交带有自定义变量的表单的更好方法(提示)
- 用之前的结果定义变量,还有更好的方法吗?
- 检测变量的更好方法!=发送异步请求时未定义
- 哪一种定义变量的方法更好?为什么?