JS中一个函数里的变量值,怎么可以直接在另外一个函数里用引用

下面是函数中,通过函数计算得到gwp的值并判断绘图。
后面我想把这个计算得到的gwp的值直接在其他函数中调用,应该怎么改
比如gwp改成全局变量,麻烦指导下,有代码就更好

$(function(){
var dom = document.getElementById("box4");
var myChart = echarts.init(dom);
var app = {};
option = null;
var y_f = [];
//全局变量,wgid在gognweizongtu.js中获取
var gwp = 0;
var xishu = [0.4,0.2,0.3,0.1];
var pjx = ["gzp","gyp","wlp","ryp"];
var pj = {"gongzhuang":"OK", "gongyi": "OK", "wuliao": "OK", "renyuan": "OK"};
var guige = [90, 90, 80, 75,85];
var xiang = ["gongzhuang","gongyi","wuliao","renyuan"];
for (var i = 0 ; i< xiang.length ; i++) {
    var lent = data[xiang[i]].y.length ;
    var ind = lent - 1 ;
    y_f.push(data[xiang[i]].y[ind]);
    if (data[xiang[i]].y[ind] < guige[i]){
        pj[xiang[i]] = "NOK";
    }
    document.getElementById(pjx[i]).innerHTML = pj[xiang[i]];
    gwp += y_f[i]*xishu[i];
}
y_f.push(88);
if (gwp > 85.5){
    document.getElementById("gwpj").innerHTML ="OK";
}
gwp = gwp.toFixed(2);
document.getElementById("gwp").innerHTML =gwp;
document.getElementById("jinri").innerHTML =gwp;
document.getElementById("zuori").innerHTML =gwp;
document.getElementById("benzhou").innerHTML =gwp;
document.getElementById("lishi").innerHTML =gwp;
document.getElementById("gwp1").innerHTML =gwp1;
/*绘图代码省略*/
};
if (option && typeof option === "object") {
    myChart.setOption(option, true);
}
})

4个回答

最好不要用全局变量,调试起来麻烦死了。可以用回调函数return返回值传出去

就你的代码来说,你已经
document.getElementById("gwp").innerHTML =gwp;
了,那么另一个程序从这个html表单里获取就是了。

weixin_44816039
云木one 我这样得到的gwp是id号,可以这样直接运行函数darwPro("myCanvas",“gwp”)吗,gwp位置原本是数值的
10 个月之前 回复
weixin_44816039
云木one 我这样得到的gwp是参数,怎么直接用函数调用darwPro("myCanvas",60/100);
10 个月之前 回复

如果不用全局变量的话直接return 即可,
例如
function getValue(){
var a ="123";
return a;
}
var b =getValue();
那么这个b的值就是123

把var gwp = 0;放在$(function(){})上面,其他function直接使用gwp即可

如果想要=变成全局变量

var gwp = 0
$(function(){
    // 计算gwp
    gwp++
})
function getGwp() {
    console.log(gwp)
}

getGwp()   //  1

但要注意获取gwp值的时间,一定要在你计算完成之后再去获取,否则就是0

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问