问题描述
- js 一个全局变量,在一个函数中进行赋值,调用另一个函数 ,这个全局变量的值却没有值为undined
-
var typer; function zhe(){ typer = 'spline'; search(); } function search() { var jsonXData = []; var jsonyD = []; $.ajax({ url : base + '/gateBrandCount/statisticsbySpecial.html', data : $('#form').serialize(), success : function(e) { var json = eval("(" + e + ")"); for (var i = 0; i < json.length; i++) { var specialName = json[i].specialName; var count = json[i].count; jsonXData.push(specialName); // 赋值 jsonyD.push(count); } console.log(typer); if(typer==undefined){ console.log(typer+"11111") var op=highchart(jsonXData,jsonyD); op.chart.type='column'; }else{ console.log(typer+"22222") var op=highchart(jsonXData,jsonyD); op.chart.type="'"+typer+"'"; } console.log(op.chart.type+" ty"); chart = new Highcharts.Chart(op); } }) }
highchart为一个显示柱状图的函数 返回options
就是那个typer 调用zhe() ,赋值后在search()中就是undefined
求教啊
解决方案
如果你调用的是zhe,对应zhe里面的search肯定没有问题,不会是你贴出来的这些代码的问题。除非你直接调用的search,而不是zhe
解决方案二:
如何在一个函数内修改一个全局变量
解决方案三:
首先 你这是ajax 你这里默认是异步处理的 你改成同步处理 就可以了 每次ajax请求前 把 传递给Highcharts的值改为空 防止表格累加
时间: 2025-01-21 18:16:00