Foro de elhacker.net

Programación => Desarrollo Web => Mensaje iniciado por: Leguim en 16 Septiembre 2019, 07:22 am



Título: [Resuelto] [Pregunta]: Algo está saliendo mal con document ready (Parte 2)
Publicado por: Leguim en 16 Septiembre 2019, 07:22 am
Buenas noches,
en un tema pasado había explicado que si ponía funciones dentro de un $(document).ready me devolvía errores de que dichas funciones no estaban creadas (undefined), El problema nuevo por el que estoy pasando es que me pasa lo siguiente:

Código javascript normal
Código
  1. var valor_extra = 3;
  2.  
  3. function Sumar(a, b)
  4. {
  5.     var result = a + b + valor_extra;
  6.     return result;
  7. }
  8.  

Implementando Jquery
Código
  1. $(document).ready(function(){
  2.     var valor_extra = 3;
  3. });
  4.  
  5. function Sumar(a, b)
  6. {
  7.     var result = a + b + valor_extra;
  8.     return result;
  9. }
  10.  

Este código me dirá que hay un error: "Undefined valor_extra" que la variable valor_extra no está creada al momento de hacer uso de Sumar(x, y);


Título: Re: [Pregunta]: Algo está saliendo mal con document ready (Parte 2)
Publicado por: engel lex en 16 Septiembre 2019, 07:44 am
esto es un asunto de alcance de funciones (llamado scope)

todo lo que hagas con la palabra clave "function" es una funcion y recuerda que todo lo que pasa en las funciones queda en las funciones, no sale... para que salga o la pasas como variable a otra funcion o la declaras como una variable gobal

ejemplo
Código:
function cosa1(){ 
     var result = 10;
     return result;
}
function cosa2(){
     return result;
}

cosa1();
cosa2();

en este caso result solo existe en cosa1, porque asi fue declarado, cosa 2 generará error porque esa variable no existe desde su punto de vista...



Título: Re: [Pregunta]: Algo está saliendo mal con document ready (Parte 2)
Publicado por: Leguim en 16 Septiembre 2019, 08:04 am
esto es un asunto de alcance de funciones (llamado scope)

todo lo que hagas con la palabra clave "function" es una funcion y recuerda que todo lo que pasa en las funciones queda en las funciones, no sale... para que salga o la pasas como variable a otra funcion o la declaras como una variable gobal

ejemplo
Código:
function cosa1(){ 
     var result = 10;
     return result;
}
function cosa2(){
     return result;
}

cosa1();
cosa2();

en este caso result solo existe en cosa1, porque asi fue declarado, cosa 2 generará error porque esa variable no existe desde su punto de vista...



Mal interprete totalmente todo, yo pensaba que document.ready digamos no era una función de esa manera, digamos... pensaba (si ya se que es una función) pero lo que hacia era una vez que estaba cargado creaba la variable o ejecutaba lo que tenga a dentro (que en parte es así) pero no lo veía como una función que cerrabas algo ahí y no lo podías usar en otro lado en este caso función.. Pero ya entendí mejor gracias!


Título: Re: [Pregunta]: Algo está saliendo mal con document ready (Parte 2)
Publicado por: EdePC en 16 Septiembre 2019, 14:07 pm
Saludos,

- Las siguientes instrucciones son completamente equivalentes:

Código
  1. // jQuery normal
  2. $(document).ready(function() {
  3.    console.log( "DOM ready!" );
  4. });
  5.  
  6. // jQuery ShortHand, más utilizado
  7. $(function() {
  8.    console.log( "DOM ready!" );
  9. });
  10.  
  11. // javascript clásico
  12. document.addEventListener( "DOMContentLoaded", function() {
  13.    console.log( "DOM ready!" );
  14. });


Título: Re: [Pregunta]: Algo está saliendo mal con document ready (Parte 2)
Publicado por: @XSStringManolo en 16 Septiembre 2019, 14:21 pm
https://api.jquery.com/ready/

https://developer.mozilla.org/es/docs/Web/javascript/Referencia/Funciones

https://www.w3schools.com/js/js_function_definition.asp

https://www.amazon.es/javascript-Programmers-Reference-Wrox-Programmer/dp/0470344725

El problema de los libros y tutoriales populares de javascript es que usan javascript como si fuese un complemento de HTML o como si javascript fuese un CSS más complejo.
javascript te permite hacer applicaciones web. Programas que tienes en el escritorio como por ejemplo notepad, winzip, winrar... Puedes hacerlos con javascript.


Título: Re: [Pregunta]: Algo está saliendo mal con document ready (Parte 2)
Publicado por: Leguim en 17 Septiembre 2019, 00:37 am
Gracias a todos!

No va al caso pero me esta dando un error grave cuando quiero publicar un nuevo tema "Una regla de seguridad ha sido aplicada"


Título: Re: [Pregunta]: Algo está saliendo mal con document ready (Parte 2)
Publicado por: engel lex en 17 Septiembre 2019, 01:08 am
Gracias a todos!

No va al caso pero me esta dando un error grave cuando quiero publicar un nuevo tema "Una regla de seguridad ha sido aplicada"

aqui wen el foro?


Título: Re: [Pregunta]: Algo está saliendo mal con document ready (Parte 2)
Publicado por: Leguim en 17 Septiembre 2019, 01:18 am
aqui wen el foro?

El foro. También dice algo de firewall...


Título: Re: [Pregunta]: Algo está saliendo mal con document ready (Parte 2)
Publicado por: @XSStringManolo en 17 Septiembre 2019, 02:41 am
Algún script que quieres publicar.