В то время как ответ Клетуса верен, я чувствую, что более подробно следует добавить в отношении «оценивается как false» в JavaScript.
var title = title || 'Error';
var msg = msg || 'Error on Request';
Не просто проверка наличия заголовка / msg, но также и для любого из них falsy . то есть одно из следующего:
blockquote>
- false.
- 0 (ноль)
- "" (пустая строка)
- null.
- undefined.
- NaN (специальное значение номера означает Not-a-Number!) [/ g7]
Итак, в строке
var title = title || 'Error';
Если заголовок правдивый (т. е. не фальши, так что title = "titleMessage" и т. д.), то логический оператор OR (||) нашел одно истинное значение, что означает, что он оценивает значение true, поэтому он замыкает и возвращает истинное значение (название).
Если заголовок является ложным (т. е. один из приведенных выше списков), то логический оператор OR (||) обнаружил значение «false» и теперь должен оценить другую часть оператора: «Ошибка ', который оценивается как истинный и, следовательно, возвращается.
Было бы также (после нескольких экспериментов с консолью firebug), если обе стороны оператора оценивают значение false, он возвращает второй оператор «фальшивый».
, т. е.
return ("" || undefined)
возвращает undefined, возможно, это позволит вам использовать поведение, заданное в этом вопросе при попытке заголовка / сообщения по умолчанию "". т. е. после запуска
var foo = undefined foo = foo || ""
foo будет установлен на ""
Sleep(0)
уже обсуждалось здесь .
Поскольку ваш процессор ничего не будет делать (23%), эта функция немедленно вернет . Попробуйте заменить его на что-то вроде Sleep(value)
(значение в миллисекундах), чтобы фактически уменьшить использование вашего процессора.