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

 

 


Tema destacado: Estamos en la red social de Mastodon


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web (Moderador: #!drvy)
| | |-+  [Duda] Parámetros de una función javascript
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [Duda] Parámetros de una función javascript  (Leído 2,678 veces)
MA40

Desconectado Desconectado

Mensajes: 254


--- I ❤ Ƀ ---


Ver Perfil WWW
[Duda] Parámetros de una función javascript
« en: 5 Julio 2021, 12:10 pm »

Hola.

Debe de ser algo muy elemental, pero ahora no caigo.

Tenemos este código HTML con una función javascript HolaMundo:

Código
  1. <!DOCTYPE html>
  2.  <head>
  3.    <script type="text/javascript">
  4.    function HolaMundo(parametroMundo) {
  5.      var variableHola = "Hola";
  6.      alert(variableHola + " " + parametroMundo);
  7.    }
  8.    </script>
  9.  </head>
  10.  <body>
  11.    <input type="button" value="Hola mundo" onclick="HolaMundo(123)">
  12.  </body>
  13. </html>

Introduciendo 123 como parámetro SÍ FUNCIONA, pero si en lugar de poner 123, ponemos "mundo", NO FUNCIONA.

Código
  1. <!DOCTYPE html>
  2.  <head>
  3.    <script type="text/javascript">
  4.    function HolaMundo(parametroMundo) {
  5.      var variableHola = "Hola";
  6.      alert(variableHola + " " + parametroMundo);
  7.    }
  8.    </script>
  9.  </head>
  10.  <body>
  11.    <input type="button" value="Hola mundo" onclick="HolaMundo("mundo")">
  12.  </body>
  13. </html>

¿Hay algo que estoy haciendo mal? ¿Es un error mío de concepto?

Gracias y un saludo.


En línea

¿Qué sucedería si se enfrentara una fuerza imparable contra un muro inamovible?
Visita Ediciones MA40 - Libros clásicos de ajedrez y este blog de ajedrez
ChessFaucet.com - Gana bitcoins jugando al ajedrez contra el ordenador
MA40

Desconectado Desconectado

Mensajes: 254


--- I ❤ Ƀ ---


Ver Perfil WWW
Re: [Duda] Parámetros de una función javascript
« Respuesta #1 en: 5 Julio 2021, 12:24 pm »

Y sin embargo así, SÍ FUNCIONA:

Código
  1. <!DOCTYPE html>
  2.  <head>
  3.    <script type="text/javascript">
  4.    function HolaMundo(parametroMundo) {
  5.      var variableHola = "Hola";
  6.      alert(variableHola + " " + parametroMundo);
  7.    }
  8.    </script>
  9.    <script type="text/javascript">
  10.    function HolaMundoPasoIntermedio() {
  11.      HolaMundo("mundo");
  12.    }
  13.    </script>
  14.  </head>
  15.  <body>
  16.    <input type="button" value="Hola mundo" onclick="HolaMundoPasoIntermedio()">
  17.  </body>
  18. </html>

No tiene mucho sentido ¿no? :huh:

Un saludo.


En línea

¿Qué sucedería si se enfrentara una fuerza imparable contra un muro inamovible?
Visita Ediciones MA40 - Libros clásicos de ajedrez y este blog de ajedrez
ChessFaucet.com - Gana bitcoins jugando al ajedrez contra el ordenador
#!drvy
Moderador
***
Desconectado Desconectado

Mensajes: 5.855



Ver Perfil WWW
Re: [Duda] Parámetros de una función javascript
« Respuesta #2 en: 5 Julio 2021, 12:24 pm »

Usas comillas dobles tanto para el html como para el JS. Eso causa un escape y la palabra "mundo" queda como referencia en vez de string.

O usa comillas simples, o escapas las dobles (recomiendo lo primero). Ese problema no lo tienes con el 123 porque no lo pasas como string.

Usar onclick ya se considera mala practica por lo general. Usa eventos en puro javascript. Igualmente, a no ser que sea 100% necesario, el javascript debe ir al final del body, no en el head.

Esta seria la solución a tu problema:


Código
  1. <input type="button" value="Hola mundo" onclick="HolaMundo('mundo')">


Esto seria usando puro javascript para los eventos:


Código
  1. <input type="button" value="Hola mundo" id="buttonHello">


Código
  1. document.getElementById('buttonHello').addEventListener('click', function() {
  2.    HolaMundo('mundo');
  3. });
  4.  


Todo combinado:

Código
  1.    <head></head>
  2.    <body>
  3.        <input type="button" value="Hola mundo" id="buttonHello">
  4.  
  5.        <script>
  6.                function HolaMundo(parametroMundo) {
  7.                    var variableHola = "Hola";
  8.                    alert(variableHola + " " + parametroMundo);
  9.                }
  10.  
  11.                document.getElementById('buttonHello').addEventListener('click', function() {
  12.                    HolaMundo('mundo');
  13.                });
  14.        </script>
  15.    </body>
  16. </html>
  17.  


https://developer.mozilla.org/es/docs/Web/API/Document/getElementById
https://developer.mozilla.org/es/docs/Web/API/EventTarget/addEventListener


Te recomiendo que revises algun tutorial de javascript ACTUALIZADO (maximo hace 3 años).

Saludos
En línea

Danielㅤ


Desconectado Desconectado

Mensajes: 1.853


🔵🔵🔵🔵🔵🔵🔵


Ver Perfil
Re: [Duda] Parámetros de una función javascript
« Respuesta #3 en: 5 Julio 2021, 20:05 pm »

Hola, como dice el compañero tenés que escapar tu string, pero puede pasar que en algún momento necesites pasar las comillas dobles como parte del string, en tu caso sería:

Código
  1.    <input type="button" value="Hola mundo" onclick="HolaMundo(\"mundo\")">
  2.  

Y si quisieras pasar las camillas dobles podes hacerlo así:

Código
  1.    <input type="button" value="Hola mundo" onclick="HolaMundo(\"\"mundo\"\")">
  2.  


Saludos
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Duda: ¿Como especificar parámetros dentro de estructuras de una función?
ASM
.:UND3R:. 2 3,758 Último mensaje 13 Mayo 2012, 18:53 pm
por .:UND3R:.
javascript duda parametros
Desarrollo Web
mitroll025 1 2,439 Último mensaje 20 Septiembre 2012, 01:59 am
por Agente Naranja
Duda sobre parametros de una función C++
Programación C/C++
Kaxperday 9 3,925 Último mensaje 16 Octubre 2015, 15:06 pm
por ivancea96
Que son los parámetros en una función en javascript?
Desarrollo Web
Ali Baba 8 5,249 Último mensaje 30 Enero 2017, 22:36 pm
por engel lex
Duda sobre cómo pasar parámetros a una función
PHP
KateLibby 7 6,055 Último mensaje 6 Octubre 2022, 09:31 am
por KateLibby
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines