2

有这个功能。

var cache = [];
$.preLoadImages = function() {
  var args_len = arguments.length;
  for (var i = args_len; i--;) {
    var cacheImage = document.createElement('img');
    cacheImage.src = arguments[i];
    cache.push(cacheImage); console.log(i)
  }
}

然后你可以这样称呼它

$.preLoadImages("image1.png", "image2.png", "image3.png");

我需要将几个图像 url 存储在一个变量中,然后将其传递给函数。
“参数”类型是对象,所以我处理了一个对象或数组,但它不起作用。
您对如何将 urls 集合传递给该函数有任何想法吗?

4

2 回答 2

6

Store the URLs in an array, and then do this:

var imageURLs = [ "url1", "url2", "url3", ... ];

$.preLoadImages.apply($, imageURLs);

The .apply() function takes an array and uses it as the list of arguments for a function invocation.

于 2013-07-28T23:13:47.913 回答
2

This is one of the places you'd use apply: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/apply

于 2013-07-28T23:15:10.067 回答