2014-08-31 2 views
0

Я просматриваю код вокруг вызова подтверждения JavaScript. По моему мнению, подтвердите returns true or false. Разработчик Я работаю с продолжает делать следующее:Окно подтверждения JavaScript

function askTheUser(question, myCallback) { 
    var result = confirm(question); 
    myCallback(result ? 2 : 1); 
} 

линия, которая бросает меня за цикл является result ? 2 : 1. Зачем кому-то это делать, а не только myCallback(result);

Есть ли что-то, что связано с обратными вызовами, о которых я не знаю. Мне просто интересно вернуть true или false, связанный с тем, подтвердил ли пользователь вопрос или нет. Я продолжаю смотреть на него. Это выглядит неправильно.

спасибо.

+1

Мы не можем сказать вам, почему важно преобразовать 'true/false' в' 2/1' без дополнительного контекста. –

+0

В этом случае, когда пользователь нажимает OK, он возвращает '2', иначе он возвращает' 1'. – rybo111

ответ

0

result ? 2 : 1 означает, что если result верно, то 2 возвращается в противном случае 1

Он/она должна иметь особые причины для этого. Попробуйте найти код, в котором он используется.

0

Да, вы правы. Это должно быть просто (результат). После этого callback может назначить 1, 2 или все, что захочет - если это действительно необходимо сделать! Он просто будет вызывать функцию обратного вызова с параметром, нет ничего особенного, что

+0

Отрицателю, как часть обзора кода, я думаю, что его важно подвергать сомнению использование произвольных чисел, а также держать вещи логичными и простыми. Поэтому да - используйте исходное значение bool! – ne1410s

+0

+ 1'у вас за «он * должен * быть и не использовать произвольные числа», но если вы собираетесь сделать этот пункт, вы можете отредактировать, чтобы сделать это более ясным в вашем ответе, что означает «должно»? Вы можете пожелать, чтобы интерфейс был чем-то иным, чем тем, чем он является, но у вас не всегда есть исполнительная власть, чтобы его изменить. – HostileFork

1

Это не неправильный, это просто преобразование true/false в 2/1. По-видимому, у них есть некоторые причины для этого.

Смежные вопросы