javascript - 复杂数据作为可选的 JavaScript 函数参数

标签 javascript jquery function parameters

我想编写一个javascript函数,它可以接受可变数量的参数,并且这些参数应该是具有结构的东西。 让我们举个例子:

该函数将在页面内注入(inject)一些 HTML,并且该 HTML 必须为传递给函数的每个元素重复

让我们假设:

element1 = {name:"john",image:"/john.jpg"}
element2 = {name:"jack",image:"/jack01.jpg"}
element3 = {name:"Linda",image:"/001.jpg"}

option1 = [element1,element2]
option2 = [element1,element2,element3]

function injectPeople (opt){
  i=0
  foreach opt {
    inject opt[i].name;
    injectelsewhere opt[i].image
  i++
}

}

我想按如下方式调用该函数:

injectPeople (option1);

injectPeople (option2);

否则

injectPeople ();

它不会注入(inject)任何东西。

有没有一种干净的方法来实现这一目标?对象和数组是最好的方法吗?

PS:标题有点奇怪,但我没有找到更好的方法来描述它,请随意编辑它以使问题更清楚。

最佳答案

这是您需要的吗?

var elements = [{name:"john",image:"/john.jpg" },   
                {name:"jack",image:"/jack01.jpg"},
                {name:"Linda",image:"/001.jpg"}],
    option1 = elements.slice(1, elements.length),
    option2 = elements;

function injectPeople (opts){

    if(!opts) throw new ReferenceError('opts not defined');

    $.each(opts, function(i, v){
        //do inject stuff
        console.log(v.name, v.image);
    });    
}

injectPeople(option1);

http://jsfiddle.net/sWB64/

关于javascript - 复杂数据作为可选的 JavaScript 函数参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20096615/

相关文章:

php - 网络用户界面 : Dynamic Web Forms

javascript - 根据值 crm 2011 更改字段的颜色

javascript - <audio> 元素在 Safari 中根本不起作用

javascript - 如何将自定义代码与 drupal 合并

jquery - 需要 Benjamin 的一些关于 History.js 的解释

jQuery 工具验证器错误消息位置

jQuery 循环插件 : One pager to control multiple slideshow on a page

function - 传播执行状态

c - 在 C 中,我在跟踪代码时遇到问题,并且不确定如何计算该值?

php - 在 PHP 中,我什么时候使用::,什么时候使用 ->