如何正确更新javascript中的全局变量?

时间:2018-10-25 14:55:19

标签: javascript export global-variables hoisting

我正在使用vue.js。我想要一个单独的javascript方法,仅用于从url访问JSON,然后在该文件内部有一个export方法,以便我将JSON发送到另一个文件以进行相应的操作。

var data;

function accessJSON(){

  //access JSON from url and store it inside global variable data
}

  //export function to access data
export function sendData(){
    return data;
}

我还尝试使用类似的方法将数据导出为变量

export var sendData = {
    output: data
 };

使用

相应地导入它
import { sendData } from '/file.js'

然后是alert(sendData.send),但这返回未定义。

如果我导出诸如output: "this is a test"之类的内容,它将输出并完美地导出变量,但是当我尝试导出在函数内部修改的全局变量时,这会引起问题。

我还尝试使用测试全局变量,将其声明并分配给var globalVar = 2,在方法内部将globalVar修改为8,然后导出并导出globalVar = 2而不是globalVar = 8这意味着当我在函数内修改var时,无法正确更新var。

我相信这是因为吊装,但是我不知道如何避免它,因为我看到导出/导入它或将其发送给函数应该已经对其进行了修复。

0 个答案:

没有答案