javascript - 初始化包含数组的 javascript 对象

标签 javascript arrays object

我有以下 C++ 结构,我想在 Javascript 中尽可能忠实地创建它:

struct Vertex
{
   float coords[4];
   float colors[4];
};

所以我做了以下事情:

function Vertex(coords, colors)
{
   this.coords = [];
   this.colors = [];
}

现在,下面的工作是创建一个 Vertex 实例:

var oneVertex = new Vertex();
oneVertex.coords = [20.0, 20.0, 0.0, 1.0];
oneVertex.colors = [0.0, 0.0, 0.0, 1.0];

但下面的(华而不实?)不是:

var oneVertex = new Vertex([20.0, 20.0, 0.0, 1.0], 
                            [0.0, 0.0, 0.0, 1.0]);

为什么?我是 Javascript 的新手,我所阅读的内容表明它应该没问题。很明显不是。了解我所缺少的东西会很有帮助。谢谢。

最佳答案

您需要使用传递给函数的参数才能使其工作,如:

function Vertex(coords, colors)
{
   this.coords = coords || [];
   this.colors = colors || [];
}

关于javascript - 初始化包含数组的 javascript 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36682040/

相关文章:

javascript - for 循环中的 lineTo() 方法

arrays - NodeJS - 创建空数组会导致数组中有很多空值

javascript - For 数组中的循环值

object - 在smalltalk中创建字符串时会发生什么?

javascript - 从对象中的数组中删除特定值

javascript - 如何快速将剪贴板的内容粘贴到 Chrome 开发控制台中的变量中?

javascript - 如何编写简单的测试来检查 Angular 2 中 MatDialog 的行为?

javascript - 是否有不区分大小写的 jQuery :contains selector?

javascript - Javascript 对象中的属性范围

javascript - 创建自定义 JS 方法的正确方法