以下是代码:
console.log(
"r=" + r + "; " +
"a=" + a + "; " +
"cx=" + cx + "; " +
"Math.cos(a)=" + Math.cos(a) + "; " +
"r * Math.cos(a)=" + (r * Math.cos(a)) + "; " +
"cx.x + r * Math.cos(a)=" + (cx.x + r * Math.cos(a)) + "; "
);
结果:
r=0; a=0; cx=451; Math.cos(a)=1; r * Math.cos(a)=0; cx.x + r * Math.cos(a)=NaN;
对于r和a的所有值,NaN都是NaN,只是不想发布多余的结果。
为什么会发生这种情况以及如何解决?
答案 0 :(得分:3)
从输出结果来看,cx
似乎是一个数字,表示cx.x
将为undefined
。所以最后一个公式是undefined + ...
,在使用JavaScripts奇怪规则时会产生NaN(至少在Chrome控制台中):
> cx = 451;
451
> cx.x+1
NAN