Javascript 动态设置、取消设置和清除全局变量

Javascript 动态设置、取消设置和清除全局变量,javascript,global-variables,Javascript,Global Variables,我需要在ajax调用之后设置一个全局变量。全局变量取决于ajax的success数据,我想在其他函数中访问全局变量 全局变量应在某个单击事件中清除。如果ajax调用再次进行,我想用一个新值设置全局变量 我尝试在函数之外声明var,如var globalvariable,并在ajax调用之后设置全局变量值,如: window.globalvariable = data; 但我得到的只是空洞的结果 实现这一点的正确方法是什么?您不需要像窗口那样访问全局变量。全局变量,只要全局变量就足够了。您可以检

我需要在ajax调用之后设置一个全局变量。全局变量取决于ajax的
success
数据,我想在其他函数中访问全局变量

全局变量应在某个单击事件中清除。如果ajax调用再次进行,我想用一个新值设置全局变量

我尝试在函数之外声明var,如
var globalvariable
,并在ajax调用之后设置全局变量值,如:

window.globalvariable = data;
但我得到的只是空洞的结果


实现这一点的正确方法是什么?

您不需要像
窗口那样访问全局变量。全局变量
,只要
全局变量
就足够了。

您可以检查变量是否已分配:

if(typeof globalvariable == 'undefined')
 // variable is not assigned
else 
 // use value of that variable.
如果在函数中使用“var”关键字定义变量,则将其视为局部变量

但若您声明变量时不带'var'关键字,那个么它将被视为全局变量


由于ajax在大多数情况下是异步的,您应该只在回调中检查变量,而不是在启动ajax的函数中检查变量。

您可以发布一些代码吗?如果试图从ajax调用的结果中设置一个全局变量,然后在另一个函数中使用该全局变量,则很可能是解决问题的错误和误导的方法。这根本不是处理异步结果的可靠方法。您应该阅读以开始理解如何正确处理异步响应;window.globalVariable更易于阅读我也试过了,但没用。现在,我通过清除所有会话和cookie使其正常工作。有没有办法取消设置javascript变量并设置新值。@rajapallavan您可以简单地给它一个新值,如果不想再包含任何内容,也可以给它一个null。