2
respostas

Como é maneira correta de chamar uma função dentro de outra para ambas posso conversar?

function maeDe1 (filho1){
    var nomeMae = "Antonieta";
    var nomeFilho = "Marcel";
    if (filho1 == nomeFilho){
       return nomeMae;
    } else if (filho1 != nomeFilho){
      return "Não é Parente";
    }
}

function maeDe2 (filho2){
    var nomeMae = "Antonieta";
    var nomeFilho = "Fabiana";
    if (filho2 == nomeFilho){
       return nomeMae;
    } else if (filho2 != nomeFilho){
      return "Não é Parente";
    }
}

function temAMesmaMae (filho1,filho2){
   return ((maeDe1(filho1)) == (maeDe2(filho2));

na função eu quero chamar a primeira funçao fazer receber parametro filho1 e depois fazer o mesmo a outra funçao passando parametro filho2 e fazer seguinte pergunta no return, se comparar as duas funções quero que return responda true?

2 respostas

Boa tarde, Marcel! Como vai?

Pelo que eu entendi do seu objetivo, o código que vc desenvolveu está quase correto! Vc apenas esqueceu uma chaves e acrescentou um parênteses desnecessário na última função. O correto seria como a seguir!

function temAMesmaMae (filho1,filho2){
   return (maeDe1(filho1)) == (maeDe2(filho2));
}

Contudo, há algumas melhorias que poderia ser feitas no seu código! Ambos as instruções else if que vc fez nas duas primeiras funções não precisariam ser feitas! Pois se o if já verifica se é igual, uma vez que essa condição não é atendida já temos garantia de que os valores são diferentes! Além disso, na última função não era necessário um par de parênteses envolvendo a chamada das funções. De modo que o código melhorado ficaria assim:

function maeDe1 (filho1){
    var nomeMae = "Antonieta";
    var nomeFilho = "Marcel";
    if (filho1 == nomeFilho){
       return nomeMae;
    }

    return "Não é Parente";
}

function maeDe2 (filho2){
    var nomeMae = "Antonieta";
    var nomeFilho = "Fabiana";
    if (filho2 == nomeFilho){
       return nomeMae;
    }

    return "Não é Parente";
}

function temAMesmaMae(filho1,filho2) {
   return maeDe1(filho1) == maeDe2(filho2);
}

O que vc acha? Gostou da ideia? Qualquer coisa é só falar!

Grande abraço e bons estudos, meu aluno!

function maeDe1 (filho1){ var nomeMae = "Antonieta"; var nomeFilho = "Marcel"; if (filho1 == nomeFilho){ return nomeMae; } return "Não é Parente"; } function maeDe2 (filho2){ var nomeMae = "Antonieta"; var nomeFilho = "Fabiana"; if (filho2 == nomeFilho){ return nomeMae; } return "Não é Parente"; } function temAMesmaMae(filho1,filho2) { return maeDe1(filho1) == maeDe2(filho2); } function paiDe1 (filho1){ var nomePai = "Luiz"; var nomeFilho = "Fabiana"; if (filho1 == nomeFilho){ return nomePai; } return "Não é Parente"; } function paiDe2 (filho2){ var nomePai = "Luiz"; var nomeFilho = "Fabiana"; if (filho2 == nomeFilho){ return nomePai; } return "Não é Parente"; } function temOMesmoPai (filho1,filho2) { return paiDe1(filho1) == paiDe2(filho2); }

function saoMeioIrmaos (filho1,filho2){ if (maeDe1(filho1) == maeDe2(filho2)){ return true; } else if (paiDe1(filho1) != paiDe2(filho2)){ return false } } agora eu fiz para tudo o sera consigo voltar true para meio irmaos?