Javascript函数输出NaN
为什么在执行console.log(square.area)时,此代码返回NaN;而不是36岁Javascript函数输出NaN,javascript,Javascript,为什么在执行console.log(square.area)时,此代码返回NaN;而不是36岁 var calcArea1 = function(){ this.area = this.sideLength * this.sidelength; }; var square = new Object(); square.sideLength = 6; square.area = 0; square.changeArea = calcArea1; square.changeArea(); co
var calcArea1 = function(){
this.area = this.sideLength * this.sidelength;
};
var square = new Object();
square.sideLength = 6;
square.area = 0;
square.changeArea = calcArea1;
square.changeArea();
console.log(square.area);
您的函数中有一个输入错误:
var calcArea1 = function(){
this.area = this.sideLength * this.sideLength;
}; // ^^
JavaScript区分大小写,因此大小写名称被视为不同的
因为
this.sidelength
的结果将是未定义的
,在这种情况下,当您尝试使用它时(例如,将其与此处相乘)会产生NaN(非数字)。this.sidelength为6,this.sidelength
未定义。主题外:“此问题是由无法再复制的问题或简单的印刷错误引起的。”This.area=This.sideLength*This.sideLength;因为'L'是!='L'您应该在询问之前调试程序。使用console.log()
记录有问题的值,并在浏览器的开发人员控制台中查看输出。