Javascript.RU

Создать новую тему Закрытая тема
 
Опции темы Искать в теме
  #41 (permalink)  
Старый 14.01.2012, 14:03
Аватар для Gozar
Отправить личное сообщение для Gozar Посмотреть профиль Найти все сообщения от Gozar
 
Регистрация: 07.06.2007
Сообщений: 7,504

Сообщение от Livaanderiamarum Посмотреть сообщение
return func && func()
означают проверить существование функции, если существует, то вызвать, и вернуть тру или фолс.
Это подмена понятий, если читать код, то получается:
Вернуть func и вызвать func

, а вот существование func явно не проверяется(не указано).

если пойти дальше и сделать понятнее то получиться:
return (func && func());

а это вообще плохо по читабельности.
__________________
Последний раз редактировалось Gozar, Сегодня в 24:14.
  #42 (permalink)  
Старый 14.01.2012, 14:06
Аватар для Gozar
Отправить личное сообщение для Gozar Посмотреть профиль Найти все сообщения от Gozar
 
Регистрация: 07.06.2007
Сообщений: 7,504

Одним словом, читай выше для чего придумали фигурные скобки.
__________________
Последний раз редактировалось Gozar, Сегодня в 24:14.
  #43 (permalink)  
Старый 14.01.2012, 14:11
Профессор
Посмотреть профиль Найти все сообщения от Livaanderiamarum
 
Регистрация: 25.12.2011
Сообщений: 786

Сообщение от Gozar Посмотреть сообщение
Это подмена понятий, если читать код, то получается:
Вернуть func и вызвать func
http://apachan.net/pic/i1lzmtrn15hc.html
если читать код и НЕ БЫТЬ ТУПЫМ НУБОМ то код читается по приоритетности операторов.


любой более менее сведающий человек понимает такую конструкция как "проверить функцию и вызвать" потому что этой краткой записи 200 лет.
я тебе на твоем языке оьбясню: НАДО ЗАПОМНИТЬ этот приём. тогда твои глазоньки когда будут это видеть то будут понимать что тут. запомнить так же, как ты запомнил фигурные скобки.

Последний раз редактировалось Livaanderiamarum, 14.01.2012 в 14:14.
  #44 (permalink)  
Старый 14.01.2012, 14:31
Особый гость
Посмотреть профиль Найти все сообщения от monolithed
 
Регистрация: 02.04.2010
Сообщений: 4,260

Очем вы говорите, какая проверка функции (bar && bar())?
var foo = function() {
    return bar && bar(); //error: Undefined variable: bar
};

// анализ кода приостановлен!
alert(foo());
alert(1);


Вариант лучше, вернется undefined и анализ кода продолжится:
var foo = function() {
    if (typeof bar !== 'undefined') 
        return bar();
};

alert(foo()); //undefined
alert(1); //1


Если уж хотите использовать этот оператор для проверки функции, то только так (вернется булево значение):

var foo = function() {
    return typeof bar !== 'undefined' && bar();
};

alert(foo()); //0
alert(1); //1


Переменная всегда всегда должна быть объявлена или инициализирована:
var i;
alert(i && i);
alert(1);

var i = 0;
alert(i && i);
alert(1);

Иными словами, если переменная не объявлена и используется в к.л. выражении это приводит к ошибке парсинга и дальнейший анализ кода не производится!
Поэтому перед тем как применять оператор && убедитесь, что переменная или функция объявлены и доступны в текущем скопе области видимости.

Последний раз редактировалось monolithed, 14.01.2012 в 14:54.
  #45 (permalink)  
Старый 14.01.2012, 15:15
Профессор
Посмотреть профиль Найти все сообщения от Livaanderiamarum
 
Регистрация: 25.12.2011
Сообщений: 786

вы я смотрю совсем не знаете в каких случаях и когда и ЗАЧЕМ используется эта конструкция))? пишете мне тут очевидныве вещи) хотя сами не понимаете зачем))

Это как пытаться обезьне дать гранату, это как пытаться древнего человека айфоном пользоваться научить, а он будет тебе говорить "айфон плохой! айфон орехи не колоть! а если колоть то ломаться!" - это очевидно!, древний человек)!



Особенно не понял как работает эта конструкция товарищ monolithed)) и я говорю ему: - это очевидно!, древний человек)!

я привел пример где люди используют подобную конструкцию(4 стр) я создал топик для того чтобы узнать у кого какие еще подобные сахарные приемчики есть)? То что вы этот не знали, это хрен с ним) не умеете пользоваться не пользуйтесь, хватит её обсуждать тогда) и своё её не понимание. Создайте отдельную тему для этого)!

Какие кто еще приемы интересные знает?

Последний раз редактировалось Livaanderiamarum, 14.01.2012 в 15:22.
  #46 (permalink)  
Старый 14.01.2012, 15:20
Аватар для Gozar
Отправить личное сообщение для Gozar Посмотреть профиль Найти все сообщения от Gozar
 
Регистрация: 07.06.2007
Сообщений: 7,504

Сообщение от monolithed Посмотреть сообщение
Переменная всегда всегда должна быть объявлена или инициализирована
Ну мы обсуждали код всеумного и почитаемого в интернетах товарища, у него она выше объявлена:

Сообщение от Livaanderiamarum Посмотреть сообщение
var imagesContainer = {},
	// ...
	callback;
Так что проблемы не вижу в этом, по умолчанию она у него undefined, затем он ей присваивает повторно значение undefined уже явно или функцию.

Так что вроде мы о том говорим.

Но так как товарищ кинулся обзывать всех нубами, то не вижу причины продолжать обсуждение.
__________________
Последний раз редактировалось Gozar, Сегодня в 24:14.
  #47 (permalink)  
Старый 14.01.2012, 15:30
Аватар для Gozar
Отправить личное сообщение для Gozar Посмотреть профиль Найти все сообщения от Gozar
 
Регистрация: 07.06.2007
Сообщений: 7,504

Сообщение от Livaanderiamarum Посмотреть сообщение
То что вы этот не знали, это хрен с ним) не умеете пользоваться не пользуйтесь, хватит её обсуждать тогда) и своё её не понимание.
Ох ты мой хороший, наверное ты написал целых 500 строчек кода и эта конструкция спасала тебя и помогала всегда. Ты настолько опупел, что это так круто - сидеть и раскладывать приоритетность операторов вместо продумывания основного дизайна приложения, его строения и расширяемости, что решил обосрать всех кто так не делает, по любой причине.

Какой ты молодец. Может тебе ноги начать целовать?
__________________
Последний раз редактировалось Gozar, Сегодня в 24:14.
  #48 (permalink)  
Старый 14.01.2012, 15:31
Аватар для Gozar
Отправить личное сообщение для Gozar Посмотреть профиль Найти все сообщения от Gozar
 
Регистрация: 07.06.2007
Сообщений: 7,504

Сообщение от Livaanderiamarum Посмотреть сообщение
Какие кто еще приемы интересные знает?
Я знаю один прием, кия, - иди в жопу!
__________________
Последний раз редактировалось Gozar, Сегодня в 24:14.
  #49 (permalink)  
Старый 14.01.2012, 15:39
Профессор
Посмотреть профиль Найти все сообщения от Livaanderiamarum
 
Регистрация: 25.12.2011
Сообщений: 786


Последний раз редактировалось Livaanderiamarum, 14.01.2012 в 15:42.
  #50 (permalink)  
Старый 14.01.2012, 15:49
Аватар для Gozar
Отправить личное сообщение для Gozar Посмотреть профиль Найти все сообщения от Gozar
 
Регистрация: 07.06.2007
Сообщений: 7,504

Сообщение от Livaanderiamarum Посмотреть сообщение
Простите Джим, не узнал вас сразу, а то был бы более вежлив.
Не соизволите ли пройти через сфинктор в анус, дабы не упираться рогами в жопу.
__________________
Последний раз редактировалось Gozar, Сегодня в 24:14.

Последний раз редактировалось Gozar, 14.01.2012 в 15:53. Причина: зацитировано на случай неадекватности пациента
Закрытая тема



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как создать таймер, как на Letitbit? free_style Javascript под браузер 1 01.07.2010 17:55
While как условные выражения Latro Общие вопросы Javascript 23 27.06.2010 14:53
Как сделать такое fancy menu uonax Элементы интерфейса 2 22.05.2010 12:52
Как сделать электронный каталог продукции? natarius Серверные языки и технологии 6 24.05.2009 20:56
как можно создать iframe со скриптами GOll Общие вопросы Javascript 2 05.05.2009 11:32