Aquí hay 30 preguntas de entrevista de Javascript, cada una con respuestas y ejemplos de código. Estas preguntas cubren todos los aspectos de Javascript, incluidos los conceptos básicos, la manipulación de DOM, el manejo de eventos, la programación asincrónica, la programación orientada a objetos y más.
- ¿Qué es Javascript?
Javascript es un lenguaje de secuencias de comandos utilizado para escribir aplicaciones web interactivas en navegadores web.
- ¿Cómo declarar variables?
Las variables se declaran utilizando las palabras clave var, let o const.
var x = 10;
let y = 20;
const z = 30;
- ¿Cómo crear funciones?
Cree funciones utilizando la palabra clave function.
function add(x, y) {
return x + y;
}
- ¿Cómo llamar a la función?
Las funciones se llaman usando el nombre de la función y paréntesis.
var result = add(2, 3);
- ¿Qué es DOM?
DOM (Document Object Model) es una API para manipular documentos HTML y XML en Javascript.
- ¿Cómo seleccionar elementos?
Seleccione elementos utilizando los métodos document.getElementById(), document.getElementsByClassName(), document.getElementsByTagName() o document.querySelector().
var element = document.getElementById("myElement");
var elements = document.getElementsByClassName("myClass");
var elements = document.getElementsByTagName("p");
var element = document.querySelector("#myElement");
- ¿Cómo establecer los atributos de los elementos?
Utilice el método element.setAttribute() para establecer el atributo de un elemento.
var element = document.getElementById("myElement");
element.setAttribute("class", "newClass");
- ¿Cómo agregar elementos a DOM?
Agrega elementos al DOM usando los métodos document.createElement() , element.appendChild() o element.insertBefore() .
var element = document.createElement("div");
element.textContent = "Hello World";
document.body.appendChild(element);
- ¿Cómo eliminar el elemento de DOM?
Utilice el método element.parentNode.removeChild(element) para eliminar un elemento del DOM.
var element = document.getElementById("myElement");
element.parentNode.removeChild(element);
- ¿Qué es un evento?
Los eventos son acciones que ocurren en elementos HTML, como clics del mouse, pulsaciones de teclas, desplazamiento, etc.
- ¿Cómo agregar controladores de eventos a los elementos?
Agregue controladores de eventos a los elementos mediante el método element.addEventListener().
var element = document.getElementById("myElement");
element.addEventListener("click", function() {
alert("Hello World");
});
- ¿Cómo evitar el comportamiento predeterminado de los eventos?
Utilice el método event.preventDefault() para evitar el comportamiento predeterminado del evento.
var link = document.getElementById("myLink");
link.addEventListener("click", function(event) {
event.preventDefault();
});
- ¿Cómo detener el burbujeo de eventos?
Utilice el método event.stopPropagation() para detener el burbujeo de eventos.
var element1 = document.getElementById("myElement1");
var element2 = document.getElementById("myElement2");
element1.addEventListener("click", function(event) {
event.stopPropagation();
});
element2.addEventListener("click", function(event) {
alert("Hello World");
});
- ¿Qué son los cierres?
Un cierre es una combinación de una función y su alcance que puede acceder a variables en el alcance superior.
function outer() {
var x = 10;
function inner() {
return x;
}
return inner;
}
var closure = outer();
var result = closure();
- ¿Qué es una función de devolución de llamada?
Una función de devolución de llamada es una función que se pasa como argumento a otra función y se ejecuta después de que se completa esa función.
function add(x, y, callback) {
var result = x + y;
callback(result);
}
function displayResult(result) {
console.log(result);
}
add(2, 3, displayResult);
- ¿Qué es la programación asíncrona?
La programación asíncrona es un modelo de programación en el que el código no espera a que se complete una operación, sino que continúa la ejecución inmediatamente.
- ¿Cómo usar la función de devolución de llamada para la programación asíncrona?
Utilice una función de devolución de llamada como controlador para cuando finalice una operación asincrónica.
function loadScript(url, callback) {
var script = document.createElement("script");
script.src = url;
script.onload = callback;
document.head.appendChild(script);
}
loadScript("script.js", function() {
console.log("Script loaded");
});
- ¿Qué son las Promesas?
Las promesas son un modelo de programación asincrónica para manejar los resultados de las operaciones asincrónicas.
var promise = new Promise(function(resolve, reject) {
setTimeout(function() {
resolve("Hello World");
}, 1000);
});
promise.then(function(result) {
console.log(result);
});
- ¿Qué es asíncrono/espera?
async/await es un modelo de programación asíncrona para procesar los resultados de operaciones asíncronas.
async function loadData() {
var response = await fetch("data.json");
var data = await response.json();
console.log(data);
}
loadData();
- ¿Qué son los módulos?
Un módulo es una unidad de código que contiene un conjunto de funciones relacionadas y se puede reutilizar en diferentes archivos a través de operaciones de importación y exportación.
// module1.js
export function add(x, y) {
return x + y;
}
// module2.js
import {
add } from "./module1.js";
var result = add(2, 3);
```javascript
1. 什么是类?
类是一个模板,用于创建具有相似属性和行为的对象。