Javascript 两个数相乘 returns NaN
Javascript multiplication of two numbers returns NaN
我更喜欢 C++ 和 Java 程序员,这是我第一次尝试用 javascript 做点什么。我有一个包含数组的对象,以及一个应该 return 该数组长度的函数。
var graphData = {
labels : ["label1", "label2", "label3"],
numData : function() {
return (Number(this.labels.length));}
}
现在我要做的是根据这个数组的大小调整 div 的大小。
我有
var barWidth = 13;
var viewWidth = barWidth * graphData.numData;
现在这行不通了。当我检查 typeof viewWidth 时,它 returned NaN。我还尝试了 "casting" 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();
我更喜欢 C++ 和 Java 程序员,这是我第一次尝试用 javascript 做点什么。我有一个包含数组的对象,以及一个应该 return 该数组长度的函数。
var graphData = {
labels : ["label1", "label2", "label3"],
numData : function() {
return (Number(this.labels.length));}
}
现在我要做的是根据这个数组的大小调整 div 的大小。
我有
var barWidth = 13;
var viewWidth = barWidth * graphData.numData;
现在这行不通了。当我检查 typeof viewWidth 时,它 returned NaN。我还尝试了 "casting" 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();