簡體   English   中英

全局變量未在函數內部更新

[英]Global variable not updated inside function

我花了幾個小時試圖找出為什么始終是未定義全局變量的dataset_path的原因

var dataset_path ;

function myFunction() {
  offline_data_mainlooper_bitfinex();
  print_bilan();
}
function offline_data_mainlooper_bitfinex(){
    var hours_step_size = 1*2;
    var daily_step_size = 24*2,
    // dataset_path = './quote/bitfinex/from_1480550400to_1512100800_1hquote.json';
    // dataset_path =  ('./quote/bitfinex/from_1480550400to_1512100800quote.json') //thats's 30 min
    dataset_path =  './quote/bitfinex/from_1480550400to_1512100800_15mquote.json'
       //... somecode


}
function print_bilan(){
   var filename = './analysis/test_log.json';
   //... somecode
 console.log('Quote saved! to ' +dataset_path, filename)
}

因為這:

var daily_step_size = 24*2,
//                        ^
dataset_path =  './quote/bitfinex/from_1480550400to_1512100800_15mquote.json'

那是在offline_data_mainlooper_bitfinex的局部范圍內聲明多個變量,而不是結束daily_step_size聲明,然后對全局變量進行賦值。 用分號代替逗號(或忽略它)。

當我放一個; 而不是后

var daily_step_size = 24*2,

我認為您是在聲明一個新的var范圍在函數內部。 因此,當您調用全局變量時,它是不確定的。

希望能幫助到你

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM