javascript下对结构体数组元素的操作

我主业是编写C/C++,今天发现一个细节,对javascript的数组操作不能按C语言下的习惯。

假设一个结构体数组
shapes = new Array();

结构体这样定义。
var shape = function( wh, radius, style, angle )   {
          this.radius = radius;
          this.style = style;
          this.angle = angle;
          this.wh = wh;
}

对数组做如下操作后
var tempShape = shapes[i];
tempShape.angle += 3;

虽然改的是tempShape,但shapes[i]中的数据也是会被改掉的,这里与C语言的习惯不同,注意理解。

你可能感兴趣的:(html5)