Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 06.01.2012, 05:43
Профессор
Посмотреть профиль Найти все сообщения от Livaanderiamarum
 
Регистрация: 25.12.2011
Сообщений: 786

3 раза не делай,а потом делай!
Хотите функцию напишу типа сколько то раз при вызове не делай, а потом делай))

типа

not(call,10)

будет возвращать функцию которая первые 10 раз при вызове не выполнится, а остальные разы будет выполняться)))

или лучше так сделать?
call.not(10)

или наоборот )) метод only(8)
типа сработать только первые 8 раз когда будут вызывать, а потом самоуничтожиться)


при чем так, чтобы можно было использовать в выражениях)))))))))))

Последний раз редактировалось Livaanderiamarum, 06.01.2012 в 05:50.
Ответить с цитированием
  #2 (permalink)  
Старый 06.01.2012, 05:46
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,577

Не, не хотим.
__________________
29375, 35
Ответить с цитированием
  #3 (permalink)  
Старый 06.01.2012, 05:50
Профессор
Посмотреть профиль Найти все сообщения от Livaanderiamarum
 
Регистрация: 25.12.2011
Сообщений: 786

Кому не слабо кроме меня?)
Ответить с цитированием
  #4 (permalink)  
Старый 06.01.2012, 06:09
Профессор
Посмотреть профиль Найти все сообщения от Livaanderiamarum
 
Регистрация: 25.12.2011
Сообщений: 786

Сообщение от Aetae Посмотреть сообщение
Не, не хотим.
ты с собой на Вы)?
Ответить с цитированием
  #5 (permalink)  
Старый 06.01.2012, 06:14
Профессор
Посмотреть профиль Найти все сообщения от Livaanderiamarum
 
Регистрация: 25.12.2011
Сообщений: 786

Нет, серьезно, это сложно, я сливаться начал пока, думаю как функции идентефицировать
Ответить с цитированием
  #6 (permalink)  
Старый 06.01.2012, 06:26
Профессор
Посмотреть профиль Найти все сообщения от Livaanderiamarum
 
Регистрация: 25.12.2011
Сообщений: 786

В декларированую функцию добавляет ссвойство айдишник.
Если функция выражение - тогда она, как строка сохраняется в массив функций, все последующие применения метода к функциямвыражениям будут конвертить их в строку и проверять есть ли подобное в массива.

вопрос. как определить контекст функции, иными словами я хочу чтобы метод ОТЛИЧАТ функцию вызванную из GO допустим и вызванную из другой функции, по методу значению this в функции?
Ответить с цитированием
  #7 (permalink)  
Старый 06.01.2012, 06:29
Профессор
Посмотреть профиль Найти все сообщения от Livaanderiamarum
 
Регистрация: 25.12.2011
Сообщений: 786

Иными словами есть 2 стадии сравнения функций выражений - по контексту, второй, если контексты равны, более затратный способ это по тексту функций.
Ответить с цитированием
  #8 (permalink)  
Старый 06.01.2012, 06:33
Профессор
Посмотреть профиль Найти все сообщения от Livaanderiamarum
 
Регистрация: 25.12.2011
Сообщений: 786

function q() {
	nya()
}

function w() {
	nya()
}

function nya() {
	log(this)
}

q()
w()


но вот тут официально функция ня равна функции ня, даже по контексту.
Как думаете стоит ли различать их для моих методов?
Ответить с цитированием
  #9 (permalink)  
Старый 06.01.2012, 06:35
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,577

лолшто?
function not(func,n){
  return function(){
    if(--n<0)return func.apply(this, arguments)
  }
}
__________________
29375, 35
Ответить с цитированием
  #10 (permalink)  
Старый 06.01.2012, 06:47
Профессор
Посмотреть профиль Найти все сообщения от Livaanderiamarum
 
Регистрация: 25.12.2011
Сообщений: 786

Сообщение от Aetae Посмотреть сообщение
лолшто?
function not(func,n){
  return function(){
    if(--n<0)return func.apply(this, arguments)
  }
}
твоя not действует на всю функцию целиком, хаха, какой гениальный ход от я то не подумал!)

если у тебя 2 цикла в одном ты хочешь чтобы функция начала работать на 3 раз, в другом на 7 )) нужно разделять счетчики)

+ лучше сделать манкипатчинг и добавить not в прототип функций) ведь мы этот not() вообще делаем для удобства)) а писать func.not(3) куда удобней))



а вообще .not(2) будет означать следущее:

ВОТ В ЭТОМ МЕСТЕ функция начнет работать только с третьего раза!

Хотя ты прав, можно разделить на not и notHere кстати) классная идея)

Последний раз редактировалось Livaanderiamarum, 06.01.2012 в 07:02.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
onkeyup - вызывается 3 раза подряд. розовый слоник Events/DOM/Window 1 28.04.2011 20:27