Добавление индивидуальных свойств к функции
Всем привет,
Есть функция, которая делает элемент прозрачным (плавно). Соответственно хочу добавить ей свойство "в работе". И чтобы каждый экземпляр вызванной функции имел это свойство для проверки. function fade(arg1,arg2,arg3) { ... } function initFade() { var fd1 = fade, fd2 = fade; fd1(arg1,arg2,arg3); alert(fd1.running + " " + fd2.running); // true false } initFade(); В общем как-то так, надеюсь логику работы поняли и сможете мне подсказать как правильно реализовать данный замысел... |
Цитата:
Цитата:
|
Цитата:
function fn() { fn.prop = "свойств"; } fn.propNew = "текст из "; fn(); alert(fn.propNew + fn.prop); // текст из свойств Цитата:
function makeCounter() { var currentCount = 0; return function() { currentCount++; return currentCount; }; } var counter = makeCounter(); // каждый вызов увеличивает счётчик counter(); counter(); alert( counter() ); // 3 var c1 = makeCounter(); var c2 = makeCounter(); alert( c1() ); // 1 alert( c2() ); // 1, счётчики независимы Похоже, что все есть... Возможно, вы знаете способ проверки на работу функции получше, чем придумал я? |
Цитата:
Сделал уже через замыкание, но вдруг кто знает как связать со свойствами или еще более лучшее решение... |
Цитата:
Теперь не придется лишний раз выполнять функцию для возврата переменной. |
Цитата:
Это только копирование ссылки на объект. Да и свойства те, не свойства функции... Это свойства объекта ссылка на который хранится в той же переменной, что и на функцию. |
Хотя из первоисточника
Цитата:
Т.ч. свойства есть. :yes: Но экземпляры делает только new или нечто аналогичное... |
Цитата:
function SomeFn() { this.someMethod = function() { alert("hi"); }; } var someFunction = new SomeFn; someFunction.someMethod(); или function someFn() { function sfn() { return; } sfn.someMethod = function() { alert("hi"); } return sfn; } var someFunction = someFn(); someFunction.someMethod(); |
Цитата:
Что есть "лучше"? Например есть несколько вариантов реализации нужного тебе эффекта... Какой лучше? - работает быстрее? - текст реализации выглядит понятнее, симпатичнее? - менее ресурсоемок? |
Цитата:
1 объект/экземпляр и две переменные со ссылкой на него... Цитата:
|
Часовой пояс GMT +3, время: 14:30. |