Javascript函数输出NaN

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

为什么在执行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();
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()
记录有问题的值,并在浏览器的开发人员控制台中查看输出。