我有一系列功能。
var arrOfFunc = [];
我有推送到数组的脚本,这是一个重绘谷歌图表的功能
根据我决定放在页面上的图表数量,可以有多种功能
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);
});
问题是我有一个网格刷新按钮重新运行整个功能:
drawChart()
在决定是否将函数推送到arrOfFunc对象之前,如何检查函数是否已存在于数组中?
或.indexOf()
仅适用于字符串。
答案 0 :(得分:1)
indexOf
标识数组中的对象。
由于Javascript将所有函数视为对象,因此indexOf
也应该对函数起作用。
答案 1 :(得分:0)
反对JS的基本原则来制作多个drawChart()
函数。您只需声明一次并从任何对象调用它。 " this
"您应该在函数中引用的将表示您从中调用它的对象。你最好学习this
和JS中的范围。我建议你看一下this