我是一名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(),但它不起作用。我做错了什么?
答案 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();