javascript使函数内部的变量成为全局变量

时间:2018-12-10 17:25:24

标签: javascript function execution

我是Java脚本的新手,这就是我要坚持的东西。 我一直在尝试使函数内部的变量成为全局变量,以便可以在代码的其他部分中使用它。到目前为止,似乎没有任何工作。下面是我的代码:

var json2="-";

var request = require("request");
var smallpie1 = 
"https://s3.amazonaws.com/vecareclientjson/user1/predictions.json";

var pre = {rejectUnauthorized: false,
       url: smallpie1,
       method: 'GET',
       json: true
};
function test1(){
    request(pre,function (error,response,body){
        json2 = JSON.stringify(body);
        console.log(json2);
    });
};
console.log(json2);

Output:
-
[Done] exited with code=0 in 0.231 seconds

我期望json中的内容覆盖json2对象。 目标是使函数json2中的test1()对象成为全局对象。

3 个答案:

答案 0 :(得分:1)

正如其他贡献者告诉您的那样,您必须运行test1()函数。为此,您可以在记录json2变量之前将其添加到代码底部,例如:

var json2="-";

var request = require("request");
var smallpie1 = 
"https://s3.amazonaws.com/vecareclientjson/user1/predictions.json";

var pre = {rejectUnauthorized: false,
       url: smallpie1,
       method: 'GET',
       json: true
};
function test1(){
    request(pre,function (error,response,body){
        json2 = JSON.stringify(body);
        console.log(json2);
    });
};

test1(); // Here you call the function, which will modify json2
console.log(json2); // Here you print json2 current value

答案 1 :(得分:0)

您似乎尚未运行该功能。

答案 2 :(得分:0)

在控制台之前运行功能test1。