Вашего код имеет слишком много заявлений возвратных, что я чувствую, как повторяющийся, например
if(firstchek)
{
if(second)
{
return here();
}
else
{
return here();
}
}
выше, равно
if(firstchek)
{
return here();
}
, потому что здесь() такое же вызов функции. И второй пример
if(firstcheck)
{
if(second)
{
return here();
}
return here();
// else code without else
}
// code without else
// else code is here
return here();
равно
if(firstcheck)
{
return here();
}
return here();
В первом примере, если есть некоторое заявление после того, как на примере и верхний уровень, если условие не выполнено, то операторы следующим будут выполнены примером
if(firstchek)
{
if(second)
{
return here();
}
else
{
return here();
}
}
CallMyCellNo();
CallMyCellNo() будет вызываться, если условие верхнего уровня, если условие не выполнено.
Во втором примере вы возвращаетесь сюда() после инструкции toplevel if, поэтому независимо от возвращаемого значения условия if выполнение функции прекращается.
Если все, что вы делаете, это 'return', нет никакой разницы. Во втором фрагменте у вас есть код * после 'if' * - который, похоже, не связан с вашим вопросом. – Kobi
Я тоже это чувствую, потому что, когда я запускаю обе команды, я не нахожу разницы. – 2010-07-23 08:12:12
Вы также можете сделать 'return second? here(): here(); 'если вы чувствуете себя особенно сложно. – Greg