У меня есть массив функций x = [f1,f2,f3,f4]
, созданный пользователем, пользователь может удалить их позже в коде.Recognize functions by pointer in javascript
Так что мой вопрос в том, как пользователь может попросить удалить f3
, например, если он не знает его положения?
Моя идея - иметь функцию под названием x.remove(f3)
, и мне нужно сравнить указатели аргумента и элементы массива, но как это сделать в JS?
Пользователь должен каким-то образом сохранить оригинальные ссылки на функции в 'x'. В противном случае это невозможно, если вы не можете использовать объект вместо массива. – Teemu
Сравнение функциональных ссылок отлично работает в js. Просто используйте 'f === g', чтобы увидеть, есть ли у вас ссылки на одну и ту же функцию. – mrmcgreg
Если вы используете это для управления обработчиками событий, вам понадобится что-то [более сложное] (http://jsfiddle.net/16uvpxhb/), чем простой массив. – Teemu