两个数字的Javascript乘法返回NaN

时间:2015-01-11 09:37:43

标签: javascript function object nan

我是一名C ++和Java程序员,这是我第一次尝试使用javascript。我有一个包含数组的Object,以及一个应该返回该数组长度的函数。

    var graphData = {
       labels : ["label1", "label2", "label3"],
       numData : function() {
          return (Number(this.labels.length));}
       }

现在我要做的是根据此数组的大小调整div的大小。

我有

    var barWidth = 13;
    var viewWidth = barWidth * graphData.numData;

现在这不行。当我检查viewWidth的类型时,它返回了NaN。我也尝试将操作数“转换”为Number(),但它不起作用。我做错了什么?

1 个答案:

答案 0 :(得分:2)

您必须将该功能称为graphData.numData()而不是graphData.numData,因为它不是属性,而是可以解决问题。

var graphData = {
   labels : ["label1", "label2", "label3"],
   numData : function(){return +(this.labels.length);}
}

var barWidth = 13;
var viewWidth = barWidth * graphData.numData();