原型js使用自定义函数调用

时间:2010-08-04 22:43:56

标签: javascript prototypejs

我有一个div名称数组,我希望在加载时关闭div。

我从原型api和另一个网站读取,如果要对列表中的每个项目执行相同的操作,则通常首选调用。

//I have this switch_off function

function switch_off(div){
  Effect.SwitchOff(div);
}

//and this array
div_names = ['notice','status_bar','word_count']

//Please do tell me if this is not the best option:
div_names.invoke('switch_off');

但它不起作用。

我需要提供另一个参数来调用吗?可能是this吗?

添加了: 这是Firebug输出

//value[method] is undefined
//[Break on this error] return value[method].apply(value, args); 

谢谢!

1 个答案:

答案 0 :(得分:1)

invoke的效果是在enumerable中的每个项目上调用成员方法,因此不适合您尝试实现的结果类型,除非您想要扩展字符串的原型。

应该提供的工作可以是以下任何一种:

function switch_off(div){
  Effect.SwitchOff(div);
}    

//and this array
div_names = ['notice','status_bar','word_count'];

//Please do tell me if this is not the best option:
div_names.each(switch_off);

['notice','status_bar','word_count'].each(function (div){
    Effect.SwitchOff(div);
});