Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/473.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Nan/未定义的数字属性_Javascript - Fatal编程技术网

Javascript Nan/未定义的数字属性

Javascript Nan/未定义的数字属性,javascript,Javascript,它的缺点是我试图创建一个Snake JS实现。为了完成游戏的“弯曲”部分,我选择使用“转折点”来跟踪蛇何时需要改变路线。为了跟踪点和方向,我使用了一个名为turnPoint的对象: var turnPoint = {x: 0, y: 0, direction: 0}; 这是我教的一门课程,开始编程。不确定为什么添加turnPoint.x和turnPoint.y会引发未定义的异常。当我用Number()func换行时,我得到一个Nan。这是一个原型问题吗 完整的源代码在 在JavaScript中

它的缺点是我试图创建一个Snake JS实现。为了完成游戏的“弯曲”部分,我选择使用“转折点”来跟踪蛇何时需要改变路线。为了跟踪点和方向,我使用了一个名为turnPoint的对象:

var turnPoint = {x: 0, y: 0, direction: 0};
这是我教的一门课程,开始编程。不确定为什么添加turnPoint.x和turnPoint.y会引发未定义的异常。当我用Number()func换行时,我得到一个Nan。这是一个原型问题吗

完整的源代码在

在JavaScript中,用于。。。在中,循环遍历对象的属性名称,而不是属性

for (var i = 0; i < turns.length; ++i) {
  newLine.push(Number(turns[i].x));
  newLine.push(Number(turns[i].y));
}
for(变量i=0;i
您真的不应该将
用于。。。在数组上的
中,除非您确实知道需要这样做

在JavaScript中,用于。。。在
中,循环遍历对象的属性名称,而不是属性

for (var i = 0; i < turns.length; ++i) {
  newLine.push(Number(turns[i].x));
  newLine.push(Number(turns[i].y));
}
for(变量i=0;i

您真的不应该将
用于。。。在数组上的
中,除非您确实知道需要这样做。

为了澄清,术语JSON确实不适合这样做。它只是一个object.right,但是对象的语法是符合JSON的,对吗?而且你还没有说你从哪里得到这个异常。如果一个刚开始编程的学生来找你说,“我遇到了一个异常”,这不是你问的第一件事吗?@roguequery否,JSON对象中的键需要用引号括起来,你仍然不会称它为JSON,除非整件事都是在一个字符串中,比如
“{”x“:0,“y”:0,“direction”:0}
否,在这种情况下,它肯定不是JSON。JSON语法要求属性名和字符串值都用双引号引起来。这在JavaScript对象文字语法中是允许的,但不是必需的。它只是一个object.right,但是对象的语法是符合JSON的,对吗?而且你还没有说你从哪里得到这个异常。如果一个刚开始编程的学生来找你说,“我遇到了一个异常”,这不是你问的第一件事吗?@roguequery否,JSON对象中的键需要用引号括起来,你仍然不会称它为JSON,除非整件事都是在一个字符串中,比如
“{”x“:0,“y”:0,“direction”:0}
否,在这种情况下,它肯定不是JSON。JSON语法要求属性名和字符串值都用双引号引起来。这在JavaScript对象文字语法中是允许的,但不是必需的。我不知道。我从Java编程中猜到了这个坏习惯。@RogueQueryJava和JavaScript除了表面上的差别外,几乎在所有方面都完全不同。我不知道。从Java编程中我猜这是一个坏习惯。@RogueQueryJava和JavaScript除了表面上的差别外,几乎在所有方面都是完全不同的。
for (var i = 0; i < turns.length; ++i) {
  newLine.push(Number(turns[i].x));
  newLine.push(Number(turns[i].y));
}