2017-05-18 118 views
-2

這裏是我的JavaScript代碼:無法調用JavaScript函數

var chart = { 
    generateChartData: function() { 
    return "hello" 
    }, 
    chartData: generateChartData() 
} 

以上拋出一個錯誤Uncaught ReferenceError: generateChartData is not defined

回答

4

你有兩個問題。

  1. 您在任何範圍內都沒有做任何事情來創建一個名爲generateChartData的變量。
  2. 對象完成構建後,您將創建chart.generateChartData ...但在您嘗試調用該函數時不會存在該對象。
1

您可以創建一個getterchartData財產,在裏面可以調用generateChartData()方法,並得到其價值。

var chart = { 
 
    generateChartData: function() { 
 
    return "hello" 
 
    }, 
 
    get chartData() { 
 
    return this.generateChartData() 
 
    } 
 
} 
 

 
console.log(chart.chartData)