我有一系列功能。

var arrOfFunc = [];


我有推入数组的脚本,该函数可重绘Google图表

可能有多种功能,具体取决于我决定在页面上放置多少图

var chart = "done";

function drawChart(){ ... } //each draw chart function belongs to its own scope.

arrOfFunc.push(drawChart);

$(window).resize(function(){
   if(chart=="done"){
     chart = "waiting";
     setTimeout(function(){
       for(var i in arrOfFunc ){
         arrOfFunc[i]();
       }
       chart = "done"
     },1000);
});


问题是我有一个刷新按钮的网格重新运行整个功能:


进行api调用
drawChart()重新渲染网格
比将drawChart()函数推到arrOfFunc;


在决定是否将其推送到arrOfFunc对象之前,如何检查该函数是否已存在于数组中?

还是.indexOf()仅适用于字符串。

最佳答案

indexOf标识数组中的对象。

由于Javascript将所有函数都视为对象,因此indexOf也应在函数上起作用。

10-05 21:48