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

来源:互联网 发布:isp 网络拓扑 编辑:程序博客网 时间:2024/05/21 04:41

我主业是编写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语言的习惯不同,注意理解。