Это должен быть объект, содержащий ключи:
var functions = {
func1: function(){ ... },
func2: function(){ ... },
func3: function(){ ... }
};
Это позволит functions['func1']()
работать.
Я не знаю, как ваш functions[func1]()
когда-либо работал, хотя.
Ваш исходный код (непреднамеренно) создал бы (неосторожно) глобальные переменные (func1
и т. Д.), Но они не были бы действительными индексами в массиве functions
.