js for循环给object数组赋值

var style = { fontsize: 12, left: 0 };
var style_array = new Array();

function ss(){
for (var i = 0; i < 12; i++) {
    style={};//重点
    style.fontsize = parseInt((Math.random() * 1 + 1) * 12);
    style.left = parseInt(300 * Math.random() * 0.8);
    style_array[i] = style;
  }
  console.log(style_array);
}
ss();

每次赋值前,需要把object初始化{}一下,不然赋值完以后,数组的值全部变成最后赋的值,如下图

加入初始化后:

你可能感兴趣的:(javascript)