如何将全局变量重置为在document.ready()Javascript中可用

如何将全局变量重置为在document.ready()Javascript中可用,javascript,jquery,Javascript,Jquery,我已经试了一段时间了。虽然在堆栈上有很多类似的问题,但它们似乎都不适合我。这是我的问题 这是我的代码,这是我最近的一次尝试 var busWorkOrders; function jsonBusWorkOrders() { busWorkOrders = "New Value"; } 如何在函数jsonBusWorkOrders()之外访问busWorkOrders“new value”的新值 我也试过了 任何帮助都将不胜感激。以下是我的猜测: 加载页面时,您没有总线工作顺序-因此将

我已经试了一段时间了。虽然在堆栈上有很多类似的问题,但它们似乎都不适合我。这是我的问题

这是我的代码,这是我最近的一次尝试

var busWorkOrders;

function jsonBusWorkOrders() {
    busWorkOrders = "New Value";
}
如何在函数jsonBusWorkOrders()之外访问busWorkOrders“new value”的新值

我也试过了

任何帮助都将不胜感激。

以下是我的猜测:

加载页面时,您没有
总线工作顺序
-因此将其设置为空数组:

//global scope
var busWorkOrders = [];
然后,调用某个异步进程来填充
总线工作顺序
(可能如下所示):

实际上,您要做的是修改busWorkOrder,而不是替换它(尽管这可能并不重要)

此外,您可能必须让等待填充
总线工作订单的内容现在就准备就绪。现在我的问题是,等待填充的
busWorkOrder
是什么

请记住,Swift在获得变量后不会跟踪变量的更改,因此您可能想让Swift知道-“我的变量的内容已更改,现在再去获取它”

  var busWorkOrders;

function jsonBusWorkOrders() {
    busWorkOrders = "New Value";
}
jsonBusWorkOrders();

alert(busWorkOrders);

尝试调用函数并显示vaue

您遇到的实际问题是什么?为什么它需要是全局变量?为什么
showResults
不是同一级别的函数?太令人困惑了。如果可以的话,我会两次投票给阿德里安。与其试图解决您创建的复杂结构,不如退一步,在问题中描述您正在尝试做的事情(以及为什么要做)。您可以使用浏览器的localStorage保留值,然后在文档准备就绪时访问该值。busWorkOrders最初设置为undefined。我想将busWorkOrders重新分配给函数jsonBusWorkOrders()中的json值传递。然后将该值用于document.ready()@davenewt中的BusWorkOrder,并将其完全钉在头部。我问了一位高级开发人员,他解释了我的问题。基本上,Swift向JavaScript发送请求。jsonBusWorkOrders通过swift请求触发并重置变量。然后,我的webapp加载一个新页面并刷新该页面,因此取消了我的公交工单重新分配。我必须在Swift中更改方法调用。非常感谢。我投票支持找到问题的根源,并且如此耐心。真的很感激@Adam
//global scope
var busWorkOrders = [];
someProcess().then(function(response) {
  busWorkOrders.splice.apply([0,0].concat(response));
});
  var busWorkOrders;

function jsonBusWorkOrders() {
    busWorkOrders = "New Value";
}
jsonBusWorkOrders();

alert(busWorkOrders);