如何在JavaScript中声明全局变量?
发布于 2010-07-28 19:00:45
如果这是您要使用此变量的唯一应用程序,那么Felix's approach是非常好的选择。但是,如果您正在编写jQuery插件,请考虑“命名空间”(稍后将详细介绍引号...)jQuery对象下需要的变量和函数。例如,我目前正在开发一个名为miniMenu的jQuery弹出菜单。因此,我在jQuery下定义了一个“名称空间”miniMenu
,并将所有内容都放在那里。
我在讨论JavaScript名称空间时使用引号的原因是,它们并不是通常意义上的名称空间。相反,我只需使用一个JavaScript对象,并将我所有的函数和变量作为该对象的属性。
此外,为了方便起见,我通常会将插件名称空间划分为i
名称空间,用于只在插件内部使用的内容,以便对插件用户隐藏它。
它是这样工作的:
// An object to define utility functions and global variables on:
$.miniMenu = new Object();
// An object to define internal stuff for the plugin:
$.miniMenu.i = new Object();
现在,当我需要全局保存某些内容时,我可以只执行$.miniMenu.i.globalVar = 3
或$.miniMenu.i.parseSomeStuff = function(...) {...}
,并且我仍然将其放在全局名称空间之外。
发布于 2010-07-28 19:39:41
下面是一个全局变量的基本示例,您的其余函数都可以访问它。这是一个活生生的例子:http://jsfiddle.net/fxCE9/
var myVariable = 'Hello';
alert('value: ' + myVariable);
myFunction1();
alert('value: ' + myVariable);
myFunction2();
alert('value: ' + myVariable);
function myFunction1() {
myVariable = 'Hello 1';
}
function myFunction2() {
myVariable = 'Hello 2';
}
如果您在jQuery ready()函数中执行此操作,请确保您的变量与其他函数一起位于ready()函数中。
发布于 2015-03-03 21:23:18
在函数外部声明变量
function dosomething(){
var i = 0; // Can only be used inside function
}
var i = '';
function dosomething(){
i = 0; // Can be used inside and outside the function
}
https://stackoverflow.com/questions/3352020
复制相似问题