我是JavaScript的新手,所以如果这很简单,我会道歉。我将几个值传递给我的控制器,但之后,我需要重置全局变量而不刷新页面。我的代码如下所示:
var userName = null;
var _delegated = false;
function setAddtionalData(value) {
if(value == true) {
userName = "something";
_delegated = value;
}
}
function getAdditionalData() {
return {
username: userName,
delegated: _delegated
};
userName = null; // Does not get hit
_delegated = false; // Does not get hit
}
但变量永远不会更新。有没有办法设置这些没有页面刷新?
答案 0 :(得分:1)
返回后的代码将不会被执行。您需要获取值,清除变量并返回抓取的值:
function getAdditionalData() {
var retval = {
username: userName,
delegated: _delegated
};
userName = null;
_delegated = false;
return retval;
}
答案 1 :(得分:0)
由于您的return语句退出函数,因此永远不会达到这些值。
您应该将username
和_delegated
保存到临时变量,将它们设置为null,然后返回该对象。
return
语句用于退出函数,因此在return
语句之后放置的任何内容都不会发生。