Добавление индивидуальных свойств к функции
Всем привет,
Есть функция, которая делает элемент прозрачным (плавно). Соответственно хочу добавить ей свойство "в работе". И чтобы каждый экземпляр вызванной функции имел это свойство для проверки.
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, время: 01:41. |