Ver Mensaje Individual
  #8 (permalink)  
Antiguo 10/04/2016, 22:51
Avatar de Alexis88
Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: ¿Cómo recupero el resultado de un condicional en el mismo código?

Cita:
Iniciado por MajitoARG Ver Mensaje
[...] Ya intenté acceder al resultado hasta creando otro boton que ejecute posteriormente otra función cuando los primeros resultados de la 1ra función se muestren, pero no me funciona [...]
Al hacer esto:
Código Javascript:
Ver original
  1. else if (num1 > num2por5 && br <= num2por10){
  2.     document.getElementById('resultado').value = num1 * 1.30;
  3. }
Estás asignando el resultado de la multiplicación al elemento de id "resultado" como su valor, por lo que solo necesitaría acceder de la misma forma para recuperarlo:
Código Javascript:
Ver original
  1. var foo = document.getElementById('resultado').value; //El resultado previo

Si lo almacenas en una variable global, solo necesitarías acceder a ella:
Código Javascript:
Ver original
  1. var foo;
  2.  
  3. function bar(){
  4.     if (num1 <= num2por5){ 
  5.         foo = num1 * 1.20;
  6.     }
  7.     else if (num1 > num2por5 && br <= num2por10){
  8.         foo = num1 * 1.30;
  9.     }
  10.     else if (num1 > num2por10 && br <= num2por15){
  11.         foo = num1 * 1.40;
  12.     }
  13. }
  14.  
  15. bar();
  16.  
  17. //En otro bloque de instrucciones
  18. console.log(foo); //El valor almacenado

Si lo almacenas en una variable estática, propiedad de un objeto literal, tendrías que acceder a ella mediante la notación por puntos o corchetes:
Código Javascript:
Ver original
  1. var obj = {};
  2.  
  3. function bar(){
  4.     if (num1 <= num2por5){ 
  5.         obj.foo = num1 * 1.20;
  6.     }
  7.     else if (num1 > num2por5 && br <= num2por10){
  8.         obj.foo = num1 * 1.30;
  9.     }
  10.     else if (num1 > num2por10 && br <= num2por15){
  11.         obj.foo = num1 * 1.40;
  12.     }
  13. }
  14.  
  15. bar();
  16.  
  17. //En otro bloque de instrucciones
  18. console.log(obj.foo); //Notación por puntos
  19. console.log(obj["foo"]); //Notación por corchetes

Si lo almacenas en una variable estática, propiedad de una función constructora, el caso sería el mismo que el anterior:
Código Javascript:
Ver original
  1. var $ = function(){
  2.     if (!(this instanceof $)) return new $();
  3.     $.foo = null;
  4. };
  5.  
  6. function bar(){
  7.     if (num1 <= num2por5){ 
  8.         $.foo = num1 * 1.20;
  9.     }
  10.     else if (num1 > num2por5 && br <= num2por10){
  11.         $.foo = num1 * 1.30;
  12.     }
  13.     else if (num1 > num2por10 && br <= num2por15){
  14.         $.foo = num1 * 1.40;
  15.     }
  16. }
  17.  
  18. bar();
  19.  
  20. //En otro bloque de instrucciones
  21. console.log($.foo); //Notación por puntos
  22. console.log($["foo"]); //Notación por corchetes

Si lo almacenas en una cookie (en una forma simple), la situación sería similar a los dos casos anteriores:
Código Javascript:
Ver original
  1. function bar(){
  2.     if (num1 <= num2por5){ 
  3.         document.cookie = "foo=" + (num1 * 1.20);
  4.     }
  5.     else if (num1 > num2por5 && br <= num2por10){
  6.         document.cookie = "foo=" + (num1 * 1.30);
  7.     }
  8.     else if (num1 > num2por10 && br <= num2por15){
  9.         document.cookie = "foo=" + (num1 * 1.40);
  10.     }
  11. }
  12.  
  13. bar();
  14.  
  15. var galleta = document.cookie;
  16. //En otro bloque de instrucciones
  17. console.log(+galleta.substr(galleta.indexOf("foo") + 4));

Y si lo almacenas localmente, tendrías que seguir estos pasos:
Código Javascript:
Ver original
  1. localStorage.temp = localStorage.temp || JSON.stringify({foo: null});
  2.  
  3. var local = JSON.parse(localStorage.temp);
  4.  
  5. function bar(){
  6.     if (num1 <= num2por5){ 
  7.         local.foo = num1 * 1.20;
  8.     }
  9.     else if (num1 > num2por5 && br <= num2por10){
  10.         local.foo = num1 * 1.30;
  11.     }
  12.     else if (num1 > num2por10 && br <= num2por15){
  13.         local.foo = num1 * 1.40;
  14.     }
  15.     localStorage.temp = JSON.stringify(local);
  16. }
  17.  
  18. bar();
  19.  
  20. //En otro bloque de instrucciones
  21. console.log(local.foo);

Como puedes apreciar, existen muchas formas de almacenar y recuperar valores; incluso hay otras que no he mencionado porque con cualquiera de las que he mostrado es suficiente. Tú decides.

__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand