wongyusing 发表于 2018-9-1 21:50:30

关于函数默认值问题

本帖最后由 wongyusing 于 2018-9-1 22:02 编辑

项目地址在github地址
问题在里面的templates/range_k_line.html中,如下:
<!DOCTYPE html>
<html lang="en" dir="ltr">
    <head>
      <meta charset="utf-8">
      <script src="http://cdn.hcharts.cn/highcharts/highcharts.js"></script>
      <script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.8.0.js"></script>
      <title>haha</title>
    </head>
    <body>
      <div id="site-container" style="min-width:400px;height:400px;position: relative"></div>
      <div id="site-master" style="min-width:400px;height:200px;position: relative;"></div>
      <script>
      // 获取股票json数据
      var json = (function() {
            var result;
            $.ajax({
                type:'GET',
                url:'http://127.0.0.1:8888',
                dataType:'json',
                async:false,
                success:function(data){
                  result = data;
                }
            });
            return result;
      })();

      // 股票代码
      stock_code = json.code
      // 时间
      stock_time = json.date;
      var stock_time_list = [];
      for (var key in stock_time) {
            stock_time_list.push(stock_time);
      };
      // 开盘价格
      open = json.open;
      var open_list = [];
      for (var key in open) {
            open_list.push(open);
      };
      // 收盘价格
      close = json.close;
      var close_list = [];
      for (var key in close) {
            close_list.push(close);
      };
      // 最高价
      high = json.high;
      var high_list = [];
      for (var key in high) {
            high_list.push(high);
      };
      // 最低价
      low = json.low;
      var low_list = [];
      for (var key in low) {
            low_list.push(low);
      };
      // 交易量
      low = json.low;
      var low_list = [];
      for (var key in low) {
            low_list.push(low);
      };
      volume = json.volume;
      var volume_list = [];
      for (var key in volume) {
            volume_list.push(volume);
      };

      // 股票详细数据获取
      var stock_detail = (function() {
            var result;
            $.ajax({
                type:'GET',
                url:'static/data/detail.json',
                dataType:'json',
                async:false,
                success:function(data){
                  result = data;
                }
            });
            return result;
      })();
      // 公司名称
      stock_name = stock_detail.name
      console.log(stock_name);
      // 股票公司地址,详情信息获取的键名在get_stock_detail.py文件中
      // 留坑 还有公司官网,财务情况的信息尚未获取
      // 后续优化再进行获取

// 绘制详情图函数,后期由控制函数填写开始值和结束值
function createDetail(start_num,end_num) {
    // 开始绘图

    var options = {
      chart: {
            type: 'line',
            //colors: ['#7cb5ec',]
      },
      title: {
            text: stock_code
      },
      xAxis: {
            categories: stock_time_list.slice(0,-1)
      },
      yAxis: {
            title: {
                text: 'Fruit eaten'
            }
      },
      series: [{
      name: '开盘价',
      data: open_list.slice(0,-1),


      },]
      };
var chart = Highcharts.chart('site-container', options);
}

function createMaster(start_num,end_num) {
    // 开始绘图

    var options = {
      chart: {
            type: 'column',
            //colors: ['#7cb5ec',]
      },
      title: {
            text: stock_code
      },
      xAxis: {
            categories: stock_time_list
      },
      yAxis: {
            title: {
                text: 'Fruit eaten'
            }
      },
      series: [{
      name: '交易量',
      data: volume_list

      },]
      };
      Highcharts.chart('site-master', options);
}



createDetail();
createMaster();


      </script>
    </body>
</html>

我准备把这个页面的下面的成交量图让它改写成一个控制图。
意思是成交数量图可以控制上面的数据详细图。
想要实现的效果   
json数据在github链接
在写javascript事件语句前,我想先了解如何赋予createDetail();函数中的data和categories一个默认的值。
然后我在操作createMaster();函数时,往createDetail();函数传参改变data的值。
如果刷新页面后,createDetail();有变成原来默认的值。

wongyusing 发表于 2018-9-1 21:51:51

对了,上面写的获取数据列表部分有没有方法可以优化啊??
感觉我这样写得傻傻的
页: [1]
查看完整版本: 关于函数默认值问题