elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Security Series.XSS. [Cross Site Scripting]


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web (Moderador: #!drvy)
| | |-+  Funciones y Condicionales en javascript
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Funciones y Condicionales en javascript  (Leído 3,139 veces)
Ali Baba


Desconectado Desconectado

Mensajes: 310


Ver Perfil WWW
Funciones y Condicionales en javascript
« en: 9 Marzo 2017, 05:16 am »

Código
  1. if(x(a,b,m)){
  2.  function x (a,b,m){
  3.  m = parseInt(a) * parseInt(b);
  4.  return m;
  5. }}
  6.  
  7. if(x(a,b,s)){
  8.   function x (a,b,s){
  9.   s = parseInt(a) + parseInt(b);
  10.  return s;
  11. }
  12. }
  13.  
  14. document.write(x(2,2,m));

Aquí expresó que si colocó el siguiente callback x(a,b,m) entonces se ejecute al función, y si colocó este x(a,b,m) haga lo mismo pero con otra función, ahora mi duda es, las dos funciones se pueden llamar iguales?

Le he puesto el parámetro m a una x(a,b,m) refiriéndome a la multiplicación, ya que ese parámetro va a ser igual a la multiplicación de los otros dos y a su vez es el return de la función para que se pueda mostrar, y con otra x(a,b,m) ya lo probé y no me sale nada... se puede hacer la idea que expongo?


En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: Funciones y Condicionales en javascript
« Respuesta #1 en: 9 Marzo 2017, 05:25 am »

primero
ese codigo no corre, no están definidas las variables a, b, m ni s en el scope general, así como tampoco x... así que apenas el cursor llegue a linea 1 fallará, igual que en la 7 y en la 14

segundo
si la funcion x en linea 1 retorna algo difente de 0 simplemente se hará una sobrecarga a la función x y listo, igual para el if de la linea 7



En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
Ali Baba


Desconectado Desconectado

Mensajes: 310


Ver Perfil WWW
Re: Funciones y Condicionales en javascript
« Respuesta #2 en: 9 Marzo 2017, 05:28 am »

primero
ese codigo no corre, no están definidas las variables a, b, m ni s en el scope general, así como tampoco x... así que apenas el cursor llegue a linea 1 fallará, igual que en la 7 y en la 14

segundo
si la funcion x en linea 1 retorna algo difente de 0 simplemente se hará una sobrecarga a la función x y listo, igual para el if de la linea 7



Me quieres decir que cuando yo pongo if( x(a,b,s)) no está siendo tomado como un callback de una funcion sino como variables no definidas?


Lo que quiero es que según el callback de la función se ejecute. Si el callback es x(a,b,s) se ejecute la función esa y si es x(a,b,m) se ejecute esa función... a y b son los número y m,s es el valor de la operación que se va a retornar dependiendo el parámetro que se elija.


· No hacer doble post
>aquí las reglas del foro
-Engel Lex
« Última modificación: 9 Marzo 2017, 05:44 am por engel lex » En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: Funciones y Condicionales en javascript
« Respuesta #3 en: 9 Marzo 2017, 05:43 am »

tienes que recordar que el programa corre con un "cursor" secuencial, así que lo primero que verá será la linea 1 y verá

Código
  1. if(x(a,b,m)){

así que intentará resolver

Código
  1. x(a,b,m)

con lo que sabe, en este punto conoce algunos objetos (document, window, entre otros) pero ninguno x, a, b, m

esto no es un callback, un callback es cuando se pasa una función como parametro a otra, esperando que la otra la llame cuando la necesite


ejemplo

Código
  1. function suma_de_cuadrados(funcion_callback){
  2.    var cuadrado_a, cuadrado_b;
  3.    cuadrado_a = funcion_callback(4);
  4.    cuadrado_b = funcion_callback(9);
  5.    return cuadrado_a+cuadrado_b
  6. }
  7. function otro(parametro){
  8.   return parametro*parametro
  9. }
  10. console.log(suma_de_cuadrados(otro));
  11.  

esto el interprete lo convertirá en

Código
  1. function suma_de_cuadrados(){
  2.    var cuadrado_a, cuadrado_b;
  3.    cuadrado_a = otro(4);
  4.    cuadrado_b = otro(9);
  5.    return cuadrado_a+cuadrado_b
  6. }
  7. function otro(parametro){
  8.   return parametro*parametro
  9. }
  10. console.log(suma_de_cuadrados());
  11.  

observa que "otro" se pasa sin los parentesis cuando se pasa como callback, ya que se está pasando como variable, si pusieras

Código
  1. console.log(suma_de_cuadrados(otro()));

el interprete intentaría ejecutar primero que nada otro para obtener su respuesta y ese valor pasarlo a suma_de_cuadrados

esto es parte de la respuesta a tu pregunta si las variables pueden almacenar funciones



Lo que quiero es que según el callback de la función se ejecute. Si el callback es x(a,b,s) se ejecute la función esa y si es x(a,b,m) se ejecute esa función... a y b son los número y m,s es el valor de la operación que se va a retornar dependiendo el parámetro que se elija.

lo que dices no tiene pie ni cabeza, lo que quieres es que la función antes de evaluar, evalue que debe evaluar para ejecutarlo y luego evaluarlo por primera vez
« Última modificación: 9 Marzo 2017, 05:50 am por engel lex » En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
ThinkByYourself

Desconectado Desconectado

Mensajes: 191


Ver Perfil
Re: Funciones y Condicionales en javascript
« Respuesta #4 en: 9 Marzo 2017, 10:02 am »

Hay que diferenciar entre:

Código
  1. var f = function() {};
  2. function ff() {};

Y:

Código
  1. var a = f("texto", var2, var2);
  2. var b = ff("texto", var1, var2);

Lo primero son funciones, y lo segundo son llamadas a funciones.

Los primeros serán funciones seguro.
Los segundos, no se sabe. Pueden ser cualquier cosa. Aunque aquí serán undefined.

Saludos
« Última modificación: 9 Marzo 2017, 17:29 pm por NoBullshit » En línea

No te voy a engañar.
Todos hemos sido programados para normalizar la psicopatía de las élites económicas y políticas, y para realimentar su patrón de ciega codicia.
eLank0
eLhAcKeR r00Lz


Desconectado Desconectado

Mensajes: 1.062



Ver Perfil WWW
Re: Funciones y Condicionales en javascript
« Respuesta #5 en: 9 Marzo 2017, 17:46 pm »

El código del principio functiona cambiando function a() {} por var a = function() { } porque el hecho de poner var implica crear variables globales.

Salu2!
En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: Funciones y Condicionales en javascript
« Respuesta #6 en: 9 Marzo 2017, 17:50 pm »

El código del principio functiona cambiando function a() {} por var a = function() { } porque el hecho de poner var implica crear variables globales.

Salu2!

no, no lo hace lee mi primer comentario
En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines