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
var valor_extra = 3;
function Sumar(a, b)
{
var result = a + b + valor_extra;
return result;
}
Implementando Jquery
$(document).ready(function(){
var valor_extra = 3;
});
function Sumar(a, b)
{
var result = a + b + valor_extra;
return result;
}
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);
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
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...
Cita de: 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
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!
Saludos,
- Las siguientes instrucciones son completamente equivalentes:
// jQuery normal
$(document).ready(function() {
console.log( "DOM ready!" );
});
// jQuery ShortHand, más utilizado
$(function() {
console.log( "DOM ready!" );
});
// javascript clásico
document.addEventListener( "DOMContentLoaded", function() {
console.log( "DOM ready!" );
});
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.
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"
Cita de: MiguelCanellas 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"
aqui wen el foro?
Cita de: engel lex en 17 Septiembre 2019, 01:08 AM
aqui wen el foro?
El foro. También dice algo de firewall...
Algún script que quieres publicar.