函数返回后更新变量

时间:2016-05-06 16:41:20

标签: javascript jquery function

我是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
}

但变量永远不会更新。有没有办法设置这些没有页面刷新?

2 个答案:

答案 0 :(得分:1)

返回后的代码将不会被执行。您需要获取值,清除变量并返回抓取的值:

function getAdditionalData() {
  var retval = {
    username: userName,
    delegated: _delegated
  };
  userName = null; 
  _delegated = false;
  return retval;
}

答案 1 :(得分:0)

由于您的return语句退出函数,因此永远不会达到这些值。

您应该将username_delegated保存到临时变量,将它们设置为null,然后返回该对象。

return语句用于退出函数,因此在return语句之后放置的任何内容都不会发生。