我想知道是否有更好的方法来处理多个函数调用。基本上我有一个函数接收和元素作为参数之一,以及一些属性。我必须在几个元素上调用这个函数...
function positionMe(element,position){ ... }
positionMe(obj1,top);
positionMe(obj2,left);
positionMe(obj3,bottom);
positionMe(obj4,right);
positionMe(obj5,bottom);
只看代码似乎我做错了什么。一开始我以为我可能可以传入一个元素的集合,但是好像不行。有什么想法吗?
最佳答案
根据您提供的信息,我将创建一个包含所有所需信息的数组,并在您的函数中循环遍历它:
function positionMe(elements)
{
for(var i = 0, numberOfElements = elements.length; i < numberOfElements ; i++) {
// Do stuff with the objects you want to do in here
// access the current object
console.log(elements[i].object);
// access the current direction
console.log(elements[i].direction);
}
}
var yourObjects = [
{
object: obj1,
direction: 'top'
},
{
object: obj2,
direction: 'left'
},
{
object: obj3,
direction: 'bottom'
},
// etc
];
positionMe(yourObjects);
更新
better use for (var i in element) { console.log(elements[i].object);}
javascript 中的数组不是这种情况。好吧,这不是那么简单。因为你最终也会遍历数组对象的所有继承的东西,比如pop()
、push()
等。有一种方法可以通过 the use of hasOwnProperty()
来防止这种情况发生。 .
另一种方法是使用 forEach()
从 JavaScript 1.6 开始可用。所以我认为并不是所有的用户代理都内置了对此的支持。
关于javascript - jQuery 在多个元素上调用函数的更好方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12593402/