-5

是否可以创建对象数组?我想知道这一点,因为我正在开发一个 iPad 网站,其中包含许多需要在 iPad 上滚动的字段。

当然,iPad/Safari 不得不让事情变得困难,而不是使用 overflow-x/y 选项来允许滚动条。所以,我希望做的是创建一个 iScroll 对象数组,因为需要创建大量的东西,我宁愿不这样做:

var myScroll = new iScroll();
var myScroll = new iScroll();

等等。

我希望做的是有某种循环,如:

var arrayOfObjects=new Array();
for(var i=0; i < numFields; i++)
{
   var temp = new iScroll();
   arrayOfObjects.push(temp);
}

那么,这样的事情可行吗?

4

4 回答 4

2

我认为您发布的代码可以正常工作。一些挑剔:

var arrayOfObjects = []; // use this syntax instead of "new array"
for (var i = 0; i < numFields; i++) {
   arrayOfObjects.push(new iScroll()); // no reason for a temp var
}
于 2012-07-26T13:13:06.473 回答
2

是的

var arrayOfObjects=new Array();
for(var i=0; i < 10; i++)
{
   var temp = new Object();
   arrayOfObjects.push(temp);
}

上面的代码为 arrayOfObjects 的值生成: [Object, Object, Object, ... ]

于 2012-07-26T13:13:43.767 回答
1

你想要的,可以通过jQuery.map()来实现,如下所示:

var arrayObjects = $.map(Array(numFields), function(){ return new iScroll(); } );
于 2012-07-26T13:20:14.753 回答
0

是的,就我而言,你可以做到这一点。

我通常会说:

var myArray = []
var myArray[0] = new iScroll();
var myArray[1] = new iScroll();
var myArray[2] = new iScroll();
var myArray[3] = new iScroll();

但是在循环中执行它应该工作相同:)

于 2012-07-26T13:12:18.350 回答