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

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


  Mostrar Temas
Páginas: [1] 2 3 4 5 6 7 8 9 10 11 12 13 14
1  Seguridad Informática / Hacking Wireless / Hackear wifi desde Android en: 5 Marzo 2024, 20:21 pm
Hola buenos usuarios,

hace un par de años empezé tener interés por el hacking wireless.

Antes de hacer la siguiente pregunta, tengo que aclarar que tengo los permisos necesarios del dueño del router como parte de una apuesta.

Mi pregunta es: ¿Como puedo hackear la contraseña de un wifi desde Android?

Fuerza bruta no puedo usar porque la contraseña no solamente es compleja sino que también es críptica.

¿Tengo que buscar vulnerabilidades en el router? ¿Como puedo hacerlo desde el celular sin estar conectado al router?


Muchas gracias
2  Programación / Desarrollo Web / Curso de javascript | 14. Fuente de error: acceder a elementos que aún no existen en: 9 Septiembre 2022, 21:26 pm
Fuente de error: javascript intenta acceder a elementos que aún no existen
En el último capítulo vimos que el siguiente programa de javascript se canceló con el mensaje de error "Uncaught TypeError: Connot read property …".

Código
  1. <title>Titulo de la pagina</title>
  2. </head>
  3. let parrafo1 = document.getElementById('area1');
  4. document.write("<br>" + parrafo1.innerHTML);
  5. console.log("<br>" + parrafo1);
  6.    <h1>Encabezado 1</h1>
  7.    <p id="area1">Primer parrafo con texto</p>
  8.    <p>Segundo parrafo con texto</p>
  9.    <a href="https://foro.elhacker.net">Texto del link</a>
  10. </body>
  11. </html>

¿Por qué esto es así? Nuestro programa javascript intenta a través de document.getElementById('area1'); acceder a un área en HTML que aún no se "muestra" en ese momento. ¿Que se quiere decir con eso? Nuestro párrafo con la ID area1 recién se "ejecuta" más adelante en el programa y solo entonces estara disponible para javascript.


La prueba para una mejor comprensión
También podemos hacer que esto sea muy claramente visible al mostrar en la consola lo que actualmente está disponible para javascript.

Usando la instrucción console.log(document.children[0].innerHTML); vemos el “estado de carga”.

Código
  1. <html>
  2. <head>
  3. <title>Titulo de la pagina</title>
  4. <script>
  5. console.log(document.children[0].innerHTML);
  6. window.addEventListener("load", function() {
  7. let parrafo1 = document.getElementById('area1');
  8. // console.log(parrafo1.innerHTML);
  9. // console.log(parrafo1);
  10. console.log(document.children[0].innerHTML);
  11. } );
  12. </script>
  13. </head>
  14. <body>
  15. <h1>Encabezado 1</h1>
  16.    <p id="area1">Primer parrafo con texto</p>
  17.    <p>Segundo parrafo con texto</p>
  18.    <a href="https://foro.elhacker.net">Texto del link</a>
  19. <script>
  20. console.log(document.children[0].innerHTML);
  21. </script>
  22. </body>
  23. </html>

La salida de la consola en la línea 6 muestra que solo está presente la sección head; por otro lado, obtenemos el código completo a través del mismo comando en la salida de la consola.


Independiente de la ubicación de nuestro código javascript
Y aquí es exactamente donde queremos independizarnos.

Queremos decirle a nuestro programa javascript que no se ejecute hasta que se hayan cargado todos los elementos HTML de la página.


EventListener - esperar a eventos definidos usando javascript
En javascript existen EventListeners que podemos usar para eventos como un clic del usuario, pulsaciones de teclas o incluso la carga completa de todos los elementos HTML en una página. Así que podemos consultar cualquier cantidad de Events (inglés para evento), es decir, esperar y "escuchar" (Listen en inglés) si estos llegan a ocurrir. La traducción al español de EventListener es realmente agradable: es el oidor de eventos.

Veamos la estructura en javascript:

La declaración de javascript comienza con window.addEventListener(). Después de iniciar nuestro programa javascript, a nuestra ventana se monitorea constantemente para ver si ocurre un evento específico. Y aquí el énfasis está en permanente. Compara esto con lenguajes de programación como PHP, donde se ejecuta un programa y cuando este programa ha llegado a la última línea de código, este se completa y termina. Si usamos EventListener en javascript, el código asociado se ejecutará en una función tan pronto como ocurra un evento (Event) específico. No te tropiezcas con la nueva palabra de función aquí: las funciones se introduciran más adelante.

Ahora, por supuesto, aún tenemos que decirle a addEventListener() qué evento (Event) debe escuchar:

Código
  1. window.addEventListener("load" );

Por lo tanto, estamos esperando que nuestro archivo se cargue por completo; en otras palabras, todas las instrucciones HTML están disponibles y javascript puede consultarlas o usarlas. Nuestro evento "load" no significa nada más que nuestra página completa ha terminado de cargarse.

Ahora está claro cuándo nuestro EventListener debería de activarse - ahora falta la actividad. Primero echemos un vistazo a la estructura básica:

Código
  1. window.addEventListener("load", function() {
  2. } );

Y con acción, se debe de mostrarse que la página se cargó por completo:

Código
  1. window.addEventListener("load", function() {
  2.    console.log("Pagina completamente cargada");
  3. } );

En lugar de nuestra salida de control, por supuesto, se puede colocar cualquier cantidad de declaraciones de javascript entre las llaves.

Pero ahora el gran final: por razones históricas (suena siempre bien, pero se refiere a evitar problemas con los navegadores antiguos), siempre se debe de ingresar false después de las llaves.

Código
  1. window.addEventListener("load", function() {
  2. }, false );
  3.  

Y ahora podemos insertar el ejemplo inicialmente problemático a la nueva sección y todo está bien:

Código
  1. <html>
  2. <head>
  3. <title>Titulo de la pagina</title>
  4. </head>
  5. <script>
  6. window.addEventListener("load", function() {
  7.    let parrafo1 = document.getElementById('area1');
  8.    console.log(parrafo1.innerHTML);
  9.    console.log(parrafo1);
  10. }, false );
  11. </script>
  12. <body>
  13.    <h1>Encabezado 1</h1>
  14.    <p id="area1">Primer parrafo con texto</p>
  15.    <p>Segundo parrafo con texto</p>
  16.    <a href="https://foro.elhacker.net">Texto del link</a>
  17. </body>
  18. </html>
  19.  

En los siguientes tutoriales siempre trabajaré con esta construcción para evitar estos problemas. Por lo tanto, utilícenlo siempre, incluso si addEventListener("load", ...) no se muestra en los ejemplos que vienen en aras de la claridad.
3  Comunicaciones / Dispositivos Móviles (PDA's, Smartphones, Tablets) / Grabar encuentro de Zoom desde Android 8 (Audio) en: 9 Septiembre 2022, 10:04 am
Hola a todos,

¿cómo puedo grabar un encuentro de Zoom (Audio) desde Android 8 sin permisos del administrador y sin root?


Gracias y saludos
4  Programación / Desarrollo Web / Curso de javascript | 13. Usar DOM a través de getElementById() en: 22 Agosto 2022, 14:36 pm
Usar DOM a través de getElementById()
Echemos un vistazo a getElementById().

Queremos apuntar a un elemento específico en nuestra página HTML.

Código
  1. <title>Titulo de la pagina</title>
  2. </head>
  3.    <h1>Encabezado 1</h1>
  4.    <p>Primer parrafo con texto</p>
  5.    <p>Segundo parrafo con texto</p>
  6.    <a href="https://foro.elhacker.net">Texto del link</a>
  7. </body>
  8. </html>

¿Cómo podemos usar javascript para obtener específicamente, por ejemplo, el primer párrafo? Para hacer esto, usamos la instrucción de javascript getElementById().

Nuestro elemento deseado ahora necesita un identificador único. Podemos agregar el atributo id y un nombre único a cualquier elemento HTML directamente en el código HTML. Aquí se aplican las siguientes reglas para un nombre único:

  • No deben de haber espacios.
  • No deben de haber guiones.
  • No deben de haber caracteres especiales (por lo que es mejor usar solo letras de la a a la z y números del 0 al 9).

En nuestro ejemplo, demos a nuestro primer párrafo el atributo HTML id y el nombre area1. Aquí el fragmento del código HTML extendido:

Código
  1. <p id="area1">Primer parrafo con texto</p>

Ahora podemos agregar el nombre a nuestro comando de javascript getElementById(). Además, a través de document., decimos que se use el documento HTML actual (es decir, nuestro árbol DOM):

Código
  1. document.getElementById('area1');

Si ejecutamos nuestro programa javascript, todavía no sucede nada visible.

Ahora podemos acceder a un elemento específico.

Nuestro elemento contiene el comando HTML completo y el contenido "Primer parrafo con texto" encerrado por el comando, es decir, la completa rama seleccionada, incluidas todas las ramillas y hojas de nuestro árbol DOM.

Si solo queremos el texto y no la rama completa - en otras palabras, no queremos que se devuelvan atributos ni comandos HTML - javascript nos ofrece la extensión a través de innerHTML.

Código
  1. document.getElementById('area1').innerHTML;

Por supuesto, estas notaciones de puntos hacen que las instrucciones en javascript sean cada vez más largas y, por lo tanto, más y más confusas. Y en la mayoría de las veces, en repetidas veces se necesita acceso al mismo elemento.

Por lo tanto, se construye a partir del siguiente código

Código
  1. document.getElementById('area1').innerHTML;

la siguiente construcción usando una variable:

Código
  1. let parrafo1 = document.getElementById('area1');
  2. console.log(parrafo1.innerHTML);
  3. console.log(parrafo1);
  4. alert(parrafo1.innerHTML);

Expandi nuestro programa existente y ve si hay una salida en la consola. Hay un 50% de posibilidades de que funcione (salvo por errores tipográficos).

¡Primero probalo antes de seguir leyendo!

¡En serio!

¿Funcionó? ¿Obtuviste el resultado esperado? Entonces nuestro programa javascript se insertó después de las salidas HTML en el archivo:

Código
  1. <html>
  2. <head>
  3. <title>Titulo de la pagina</title>
  4. </head>
  5. <body>
  6.    <h1>Encabezado 1</h1>
  7.    <p id="area1">Primer parrafo con texto</p>
  8.    <p>Segundo parrafo con texto</p>
  9.    <a href="https://foro.elhacker.net">Texto del link</a>
  10. <script>
  11. let parrafo1 = document.getElementById('area1');
  12. document.write("<br>" + parrafo1.innerHTML);
  13. document.write("<br>" + parrafo1);
  14. alert(parrafo1.innerHTML);
  15. </script>
  16. </body>
  17. </html>

Si no funcionó, nuestras instrucciones de javascript se insertaron antes de las salidas HTML de los párrafos. Entonces no viene ningún contenido, sino mensajes de error en forma de "Uncaught TypeError: Connot read property …".

¡Probalo, porque en el próximo capítulo nos haremos independientes de la posición de nuestras declaraciones de javascript en nuestro archivo!
5  Programación / Desarrollo Web / Curso de javascript | 12. DOM - el Document Object Model en: 21 Julio 2022, 17:45 pm
Introducción al DOM - Document Object Model
La interfaz se crea con HTML y CSS, y el contenido de la salida HTML se puede ampliar o intercambiar con javascript. De la misma forma, se puede utilizar javascript para reaccionar ante el uso del ratón o del teclado.

El primer paso para manipular la salida HTML es observar el DOM. DOM significa "Document Object Model" o en español: "Modelo de objetos del documento". El DOM está disponible para nosotros en cualquier navegador que nos muestre una página HTML.

A través del Modelo de objetos del documento (DOM) podemos:

  • abordar a cada elemento HTML individualmente (leer o cambiar).
  • insertar elementos adicionales antes o después de ciertos elementos.
  • ¡DOM es independiente de un lenguaje de programación! Además de javascript, también se puede trabajar con el DOM utilizando Java y ECMAScript.

El navegador nos proporciona dos objetos importantes como parte del DOM:

  • document
  • window

Numerosos métodos y propiedades están disponibles para nosotros a través de estos dos objetos.



Mostrar la consola para la visualización de posibilidades de document/window

Si ahora ingresamos la instrucción console.log(window); o console.log(document); en la consola, vemos una gran cantidad de información a la que podemos acceder y luego manipular a través de esos métodos.

Por ejemplo, se puede imprimir el ancho de la ventana del navegador a través de:

Código
  1. window.innerWidth


Árbol HTML y acceso a él a través de DOM
Podemos acceder a cada elemento individual de nuestro árbol a través de los elementos secundarios. Para hacer esto, se debe de moverse a lo largo del árbol HTML. Pero esto no es realmente divertido y, por lo tanto, hay opciones mucho más cómodas, como por ejemplo:

  • document.getElementById("id")
  • document.getElementsByClassName("color1")
  • document.getElementsByTagName("h2")
6  Programación / Desarrollo Web / Curso de javascript | 11. Array: almacenar datos de forma estructurada en: 21 Julio 2022, 14:22 pm
javascript y el Array: almacenamiento de datos de forma estructurada
Hasta ahora hemos llegado a conocer las variables; por supuesto, cuando se trata de matrices, surge rápidamente la pregunta de por qué se necesita una matriz si hay variables.

Primero a la pregunta más importante:


¿Que es un Array o matriz?
Una matriz es una colección de datos almacenados en algún tipo de "variable"; a diferencia de una variable, podemos almacenar muchos datos. Supongamos que queremos usar todos los nombres de los jugadores en una tabla de puntuación de un juego. Si tuviéramos que resolver esto con las variables, tendríamos que crear el número correspondiente de variables requeridas de antemano.

Código
  1. let nombredeljugador1;
  2. let nombredeljugador2;
  3. let nombredeljugador3;
  4. etc.

Pero, ¿qué hacemos si no sabemos de antemano cuánto contenido, es decir, cuántas variables, necesitaríamos? Aquí es donde salen a la luz los primeros beneficios del uso de matrices. Simplemente creamos nuestra matriz y luego podemos llenarla con cualquier cantidad de datos.

Código
  1. let nombredejugadores = ["Encina", "Hector", "Mencia"];

O, más claro:

Código
  1. let nombredejugadores = [
  2. "Encina",
  3. "Hector",
  4. "Mencia"
  5. ];

Ahora podemos simplemente imprimir la matriz en la consola:

Código
  1. console.log(nombredejugadores);


La forma "extraña" de numerar de la matriz
En la salida de la consola ya vimos que el primer elemento de la matriz no tiene el número 1, sino que comienza en 0. ¡Las matrices siempre se numeran desde 0! Es muy importante tener eso en cuenta.

Entonces, si queremos mostrar el primer elemento de una matriz, esto se hace usando el índice 0. Esto se especifica entre corchetes después del nombre de la matriz, como se muestra en el siguiente ejemplo.

Código
  1. console.log(nombredejugadores[0]);


Más funciones de javascript para los Arrays
javascript ahora nos ofrece toda una gama de funciones. También podemos expandir una matriz existente con datos adicionales en cualquier momento:

  • push("Nombre del jugador");
  • unshift("Nuevo nombre de jugador");

Ahora, ¿por qué hay 2 formas de extender una matriz? Podemos agregar más datos al final (aquí con push) y al comienzo de la matriz (unshift).

Y la contrapartida de agregar es quitar:

Aquí tenemos de nuevo 2 posibilidades: al principio y al final.

  • ARRAY.pop()
  • ARRAY.shift()

Y con esto la última o la primera entrada se puede tomar el palo.

En la mayoría de las veces, se necesita el contenido eliminado para alguna acción; obtenemos esto como un valor de retorno en la acción de eliminar:

Código
  1. let ultimaentrada = nombredejugadores.pop();
  2. console.log(ultimaentrada);

O desde el comienzo de la matriz:

Código
  1. let primerentrada = nombredejugadores.unshift();
  2. console.log(primerentrada);


Otras funciones a menudo requeridas para los Arrays
Después de ya no saber cuántos datos se han almacenado en la matriz, simplemente podemos consultar el recuento. Para hacer esto, el nombre de la matriz se concatena con la función length:

Código
  1. console.log(nombredejugadores.length);

Por supuesto, siempre podemos abordar a los elementos de las matrices a través del índice; la mayoría de las veces necesitamos todos los elementos, por ejemplo, para una salida. Esto requiere bucles, que conoceremos en un capítulo aparte.
7  Programación / Desarrollo Web / Curso de javascript | 10. Números aleatorios con javascript en: 20 Julio 2022, 22:14 pm
Números aleatorios con javascript: el primer pequeño juego de cálculo mental
Nuestro objetivo es programar juegos con javascript. Hasta ahora conocimos muy pocos comandos como para programar un juego con ellos. Pero con cada comando adicional y cada nueva posibilidad, surgen opciones adicionales.

Nuestro primer juego (muy simple) es el cálculo mental contra la computadora (o el celular), que por supuesto siempre tiene razón. Así que es mas bien un juego de control acerca de qué tan rápido uno es en el cálculo mental.

Lo que hemos aprendido hasta ahora es:

  • Podemos imprimir algo en la ventana del navegador.
  • Podemos realizar cálculos.
  • Podemos almacenar contenido en las variables (aquí necesitamos números para nuestro juego).

¿Qué nos falta todavía para nuestro juego?

  • Numeros al azar.
  • La posibilidad de no mostrar el resultado de forma inmediatamente y visible.

Conoceremos ambas cosas en los siguientes capítulos y así podremos implementar nuestro primer pequeño juego.


Generar números aleatorios
Ningún juego puede prescindir de un proceso aleatorio y, por lo tanto, de números aleatorios. Ahora vamos a familiarizarnos con un método llamado random() en el objeto Math. Por favor, no se asusten por los términos objeto y método. El concepto de los objetos y métodos se explicará en detalle más adelante; lo bueno es que podemos simplemente usarlo al principio y experimentar la función. Lo típico es conectar el objeto a través de un punto con el método deseado. La ortografía es importante: ¡Math debe de escribirse con mayúscula! Por favor pongan atención en ello.

Veamos qué obtenemos como resultado cuando simplemente ejecutamos Math.random();.

Código
  1. let numero1;
  2. numero1 = Math.random();
  3. document.write(numero1);

Genial: cada vez que ejecutamos el programa, obtenemos un número aleatorio. Simplemente actualicen sus navegadores reiteradamente.



Lo llamativo aquí es que este número siempre es menor a 1.

Tal como lo define el comando random(), siempre se generan números entre 0 (incluido 0) y menos de 1.

No queremos usar números tan pequeños para nuestro juego, todavía no.

Si ahora queremos obtener números aleatorios entre 1 y 10, entonces tenemos que incluir esto en nuestro cálculo.

Veamos la sección superior. Queremos números hasta el 10 (incluido el 10). Para hacer esto, primero tenemos que multiplicar nuestro número por 10:

Código
  1. let numero1;
  2. numero1 = Math.random() * 10;
  3. document.write(numero1);

Si lo ejecutamos varias veces, obtenemos, por ejemplo, los siguientes resultados:





Para obtener también el 10, necesitamos sumar 1 a nuestro resultado.

Código
  1. let numero1;
  2. numero1 = Math.random() * 10 + 1;
  3. document.write(numero1);

Esto nos da nuestro rango de números entre 1 y 10, un 1 como también un máximo de 10. Si se quisiera un rango de números diferente que no necesariamente tenga que comenzar con 1, se aplica la siguiente fórmula (en aras de la exhaustividad):

Math.random() * (maximo - minimo + 1) + minimo;

Por supuesto, queremos mantener nuestro juego de cálculo mental de forma simple - no deben de haber lugares decimales en nuestros números. Aquí, nuestro objeto Math tiene el método floor. También este método podemos usar fácilmente sin tener mucha idea de los métodos y objetos. Lo único importante para nosotros es que como resultado de floor el siguiente entero más bajo (es decir, sin lugares decimales) vuelva (el método de floor redondea los números).

Ahora, por supuesto, podemos usar una notación más engorrosa para mantenerlo transparente para el comienzo, como por ejemplo:

Código
  1. let numero1;
  2. let numeroentero;
  3. numero1 = Math.random() * 10 + 1;
  4. numeroentero = Math.floor( numero1 );
  5. document.write(numeroentero);

Sin embargo, nuestros 2 nuevos "comandos" también se pueden anidar. Entonces no necesitamos ninguna variable adicional que deba definirse por separado.

El código entonces se ve así:

Código
  1. let numero1;
  2. numero1 = Math.floor( Math.random() * 10 + 1 );
  3. document.write(numero1);

El resultado devuelto por Math.random() que se pasa al método Math.floor() (siempre se lee desde atrás) y ese resultado se almacena en nuestra variable número1.

Para nuestro juego queremos 2 variables, que luego multiplicamos. Los números individuales y el resultado de la multiplicación deben mostrarse directamente en el navegador. ¡Pruébelo ustedes mismos antes de ver la siguiente solución!

Código
  1. let numero1;
  2. let numero2;
  3. let resultado;
  4. numero1 = Math.floor( Math.random() * 10 + 1 );
  5. numero2 = Math.floor( Math.random() * 10 + 1 );
  6. resultado = numero1 * numero2;
  7. document.write(numero1 + ' * ' + numero2 + ' = ' + resultado );

Por supuesto, el juego no es realmente emocionante si el resultado se muestra inmediatamente. Podríamos desplazar el resultado hacia abajo en la pantalla del navegador para que el jugador primero tenga que desplazarse hacia abajo para encontrar la solución. Todavía no podemos hacer nada más con nuestro nivel actual de conocimiento.

Código
  1. let numero1;
  2. let numero2;
  3. let resultado;
  4. numero1 = Math.floor( Math.random() * 10 + 1 );
  5. numero2 = Math.floor( Math.random() * 10 + 1 );
  6. resultado = numero1 * numero2;
  7. document.write(numero1 + ' * ' + numero2 + ' = ?');
  8. document.write('
  9.  
  10.  
  11.  
  12.     mucho
  13.  
  14.     ');
  15. document.write(numero1 + ' * ' + numero2 + ' = ' + resultado );

Este resultado solo debe mostrarse después de una acción del jugador. Ahora también llegamos al punto en que queremos separar la salida HTML de nuestra salida del programa javascript. Hasta ahora la salida a través de document.write(); es un método poco práctico. Queremos poder agregar o reemplazar áreas en un archivo HTML existente. Para esto necesitamos el DOM (en inglés "Document Object Model"), que será introducido en los siguientes capítulos.
8  Programación / Desarrollo Web / Curso de javascript | 9. Realizar cálculos en: 20 Julio 2022, 00:39 am
Cálculos con javascript
Los cálculos habituales son la suma (+), la resta (-), la multiplicación (*) y la división (/).

Como ejemplo se tiene que sumar aquí.

Código
  1. var resultado = 3 + 6;
  2. alert(resultado);

O división.

Código
  1. var resultado = 3 / 6;
  2. alert(resultado);

Muy a menudo se requiere sumar 1 a un número. Por ejemplo en bucles.

Código
  1. var vuelta = 1;
  2. vuelta = vuelta + 1;
  3. alert(vuelta);

Hay una notación más corta para esto.

Código
  1. var vuelta = 1;
  2. vuelta += 1;
  3. alert(vuelta);

Esta es una notación abreviada, por lo general no se verá esta notación larga; y menos es más, por lo que hay una notación aún más corta:

Código
  1. var vuelta = 1;
  2. vuelta++;
  3. alert(vuelta);

Qué sucede: se suma 1 a la variable vuelta.

Podés hacer lo mismo con restar, es decir, restar 1. Aquí, también, las 3 notaciones son posibles (pero generalmente se prefiere la más corta).

Código
  1. var vuelta = 1;
  2. vuelta = vuelta  - 1;
  3. vuelta -= 1;
  4. vuelta--;
  5. alert(vuelta);
9  Programación / Desarrollo Web / Curso de javascript | 8. Strings y javascript en: 20 Julio 2022, 00:06 am
Strings y javascript
En javascript, los datos de texto se almacenan en un string. A diferencia de otros lenguajes de programación, no hay tipos de datos adicionales en javascript como para caracteres de 1 dígito.

UTF-16 es el formato interno de javascript para almacenar cadenas. Importante: no está vinculado a la codificación de la página (encoding). Por lo tanto, no importa si un sitio web especifica "ISO-8859-1" o "UTF-8" en el encabezado. javascript siempre usa UTF-16.


Estructura básica de las cadenas
Las cadenas se asignan a una variable. Esto se puede hacer usando el conocido var o usando let. Las comillas van después del signo igual:

Código
  1. var x = "Curso de javascript";
  2. var y = 'Curso de javascript';
  3. var z = `Curso de javascript`;

Ahora usamos 3 comillas diferentes en el ejemplo anterior, y la buena noticia es que las 3 funcionan bien. Pero ¿cuál es la diferencia?

Las comillas simples y dobles tienen el mismo uso. No debe haber compaginaciones en la siguiente línea, de lo contrario, javascript arrojará mensajes de error.

Las comillas invertidas (en inglés "backticks") son la forma más moderna de comillas. Con los "backsticks" tenemos la ventaja de que también se puede producir una ruptura entre las comillas invertidas sin que javascript se queje con un error.

Código
  1. var z = `Curso de javascript
  2. para
  3. aprender javascript`;

Pero, ¿cómo podríamos incluir una ruptura en el tipo tradicional de comillas? Y la segunda pregunta: ¿cómo se puede empaquetar una comilla, que se imprima, en una cadena como contenido?

Es posible "enmascarar" caracteres especiales, como las distintas comillas. Así se llama esta técnica. Simplemente se escribe una barra invertida antes del "carácter problemático" y todo está bien. Entonces, si se desea guardar una comilla en una cadena como contenido, simplemente se escribe \":

Código
  1. var x = "Hoy es un \"gran\" dia";

Y entonces tenemos como salida (si imprimimos la cadena):



Si se va a imprimir una barra invertida, entonces se inserta una barra invertida antes de la barra invertida:

CodigoResultadoDescripcion
\""Comilla doble
\''Comilla simple
\\\Barra invertida

Compaginar líneas largas
Los programadores son muy reacios a tener líneas de más de 80 caracteres en su código. Entonces, si una declaración de javascript no cabe en una línea y debe de ajustarse, hay varias opciones.

Compaginación después de un operador:

Código
  1. document.getElementById("salida").innerHTML =
  2.   "Hola mundo";

O simplemente concatenar la salida con "+".

Código
  1. document.getElementById("salida").innerHTML = "Hola " +
  2.   "mundo";


Los strings tienen propiedades y métodos
Los strings tienen propiedades y métodos. Una de las propiedades más conocidas es la longitud de caracteres. En el siguiente ejemplo se determina la longitud de caracteres de la cadena "x" y se almacena en una variable. ¿Por qué se almacena esto en una nueva cadena extra y no se imprime directamente? Por razones didácticas. Esta es la mejor manera de ver la estructura de la instrucción length:

Código
  1. var x = "Hola mundo";
  2. var longitud = x.length;
  3. alert(longitud);

Importante: no hay paréntesis después de la propiedad length. ¿Por qué? ¡Es una propiedad y no un método o una función!

Más sobre esto en un capítulo siguiente.
10  Programación / Desarrollo Web / Curso de javascript | 7. Tipos de datos en javascript en: 19 Julio 2022, 18:19 pm
Tipos de datos en javascript
javascript no necesita una definición del tipo de la variable. javascript determina el tipo de variable en función del propio contenido. Tenemos 3 tipos diferentes de contenido:

  • String - es decir, texto.
  • Number - es decir, números.
  • Boolean = interruptor, encendido o apagado o, en la jerga informática, true o false.

¡Las cadenas siempre se ponen entre comillas!

Código
  1. var variableTexto = "Aqui viene el texto";

¡Cualquier lugar decimal en los números se da con el punto americano! Así que no te tropeces con los lugares decimales - es efectivo un "lugar después del PUNTO".

Código
  1. var variableNumero = 34.23;

En el tipo "Booleano" solo hay 2 estados: true o false; estos también se pueden especificar con "1" para true y "0" para false. Es más claro especificar las variables (también para diferenciarlas de los números) a través de true o false.

Código
  1. var variableBoolean = true;

También existen peligros que acechan en la naturaleza de la tipificación automática de datos. El siguiente ejemplo debería aclarar esto.

Código
  1. var numeroa = 3;
  2. console.log(numeroa);

Obtenemos 3.

Si ahora sumamos este número a otro:

Código
  1. var numeroa = 3;
  2. numeroa = numeroa + 6;
  3. console.log(numeroa);

Ahora se muestra la adición. Pero si accidentalmente ponemos el segundo número entre comillas, ¡obtendremos un resultado diferente!

Código
  1. var numeroa = 3;
  2. numeroa = numeroa + '6';
  3. console.log(numeroa);

Ahora se usan los tipo de datos "number" y "string" y javascript convierte automáticamente todo en el tipo de datos "string" y obtenemos el texto "36" como resultado.
Páginas: [1] 2 3 4 5 6 7 8 9 10 11 12 13 14
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines