我更多地是C ++和Java程序员,这是我第一次尝试使用javascript做某事。我有一个持有一个数组的对象,以及一个应该返回该数组长度的函数。
var graphData = {
labels : ["label1", "label2", "label3"],
numData : function() {
return (Number(this.labels.length));}
}
现在我想做的就是根据此数组的大小来调整div的大小。
我有
var barWidth = 13;
var viewWidth = barWidth * graphData.numData;
现在,这是行不通的。当我检查typeof viewWidth时,它返回NaN。我也尝试将操作数“投射”到Number(),但是没有用。我究竟做错了什么?
最佳答案
您必须将函数调用为graphData.numData()
而不是graphData.numData
,因为它不是属性,这将解决问题。
var graphData = {
labels : ["label1", "label2", "label3"],
numData : function(){return +(this.labels.length);}
}
var barWidth = 13;
var viewWidth = barWidth * graphData.numData();