函数返回后更新变量

Update Variable after Function Return

本文关键字:变量 更新 返回 函数      更新时间:2023-09-26

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

但变量永远不会更新。有没有一种方法可以在不刷新页面的情况下设置这些?

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

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

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

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

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