Preguntas frecuentes de la entrevista de JavaScript
Preguntas principales de la entrevista Java
Preguntas de la entrevista de Java
1. Diferencia entre window.onload y onDocumentReady?
El evento de carga no se dispara hasta que se cargue hasta la última parte de la página, esto incluye CSS e imágenes, lo que significa que hay un gran retraso antes de que se ejecute cualquier código.
Eso no es lo que queremos. Solo queremos esperar hasta que el DOM se cargue y pueda ser manipulado. onDocumentReady le permite al programador hacer eso.
2. ¿Cuál es la diferencia entre == y ===?
El == verifica la igualdad de valor, pero === verifica tanto el tipo como el valor.
3. ¿A qué se evalúa “1” + 2 + 4? ¿Qué pasa con 5 + 4 + “3”?
Como 1 es una cadena, todo es una cadena, por lo que el resultado es 124. En el segundo caso, es 93.
4. ¿Cuál es la diferencia entre el valor indefinido y el valor nulo?
undefined significa que se ha declarado una variable pero aún no se le ha asignado un valor. Por otro lado, nulo es un valor de asignación. Se puede asignar a una variable como una representación de ningún valor.
Además, undefined y null son dos tipos distintos: undefined es un tipo en sí mismo (undefined) mientras que null es un objeto.
JavaScript inicializa las variables no asignadas con un valor predeterminado de undefined. JavaScript nunca establece un valor como nulo. Eso debe hacerse mediante programación.
5. ¿Cómo se cambia el estilo / clase en cualquier elemento?
document.getElementById (“myText”). style.fontSize = “20”;
-o-
document.getElementById (“myText”). className = “anyclass”;
6. ¿Qué son los cierres de Javascript? ¿Cuándo los usaría?
Dos resúmenes de una oración:
* un cierre son las variables locales para una función: se mantienen vivas después de que la función ha regresado, o
* un cierre es un marco de pila que no se desasigna cuando la función regresa.
Se produce un cierre cuando una función crea un entorno que le une variables locales de tal manera que se mantienen vivas después de que la función ha regresado. Un cierre es un tipo especial de objeto que combina dos cosas: una función y cualquier variable local que estaba dentro del alcance en el momento en que se creó el cierre.
El siguiente código devuelve una referencia a una función:
función sayHello2 (nombre) {
var text = ‘Hola’ + nombre; // variable local
var sayAlert = function () {alert (text); }
volver sayAlert;
}
Los cierres reducen la necesidad de pasar el estado alrededor de la aplicación. La función interna tiene acceso a las variables en la función externa, por lo que no es necesario almacenar la información en algún lugar donde la función interna pueda obtenerla.
Esto es importante cuando se llamará a la función interna después de que la función externa haya salido. El ejemplo más común de esto es cuando la función interna se está utilizando para manejar un evento. En este caso, no tiene control sobre los argumentos que se pasan a la función, por lo que puede ser muy conveniente usar un cierre para realizar un seguimiento del estado.
7. ¿Qué es el espacio de nombres Javascript? ¿Cómo y dónde se usa?
Usar variables globales en Javascript es malo y una mala práctica. Dicho esto, el espacio de nombres se utiliza para agrupar todas sus funciones utilizando un nombre único. En JavaScript, un espacio de nombres es realmente un objeto al que ha adjuntado todos los métodos, propiedades y objetos adicionales. Promueve la modularidad y la reutilización de código en la aplicación.
8. ¿Qué tipos de datos son compatibles con Javascript?
Número, cadena, indefinido, nulo, booleano
9. ¿Cuál es la diferencia entre innerHTML y append () en JavaScript?
InnerHTML no es estándar, y es una cadena. El DOM no lo es, y aunque innerHTML es más rápido y menos detallado, es mejor usar los métodos DOM como appendChild (), firstChild.nodeValue, etc. para alterar el contenido de innerHTML.
10. ¿Cuál será el código que se muestra a continuación en la consola y por qué?
(función(){
var a = b = 3;
}) ();
console.log (“un definido?” + (typeof a! == ‘undefined’));
console.log (“b definido?” + (typeof b! == ‘undefined’));
Dado que a
y b
están definidos dentro del alcance de la función, y dado que la línea en la que se encuentran comienza con la palabra clave var
, la mayoría de los desarrolladores de JavaScript esperarían que typeof a
y typeof b
no estén definidas en el ejemplo anterior.
Sin embargo, ese no es el caso. El problema aquí es que la mayoría de los desarrolladores entienden incorrectamente la declaración var a = b = 3;
ser taquigrafía para:
var b = 3;
var a = b;
Pero, de hecho, var a = b = 3;
en realidad es la abreviatura de:
b = 3;
var a = b;
Como resultado (si no está utilizando el modo estricto), la salida del fragmento de código sería:
un definido? falso
b definido? cierto
Pero, ¿cómo se puede definir b
fuera del alcance de la función de cierre? Bueno, ya que la declaración var a = b = 3;
es una forma abreviada de las declaraciones b = 3;
y var a = b;
, b
termina siendo una variable global (ya que no está precedida por la palabra clave var
) y, por lo tanto, todavía está dentro del alcance incluso fuera de la función de cierre.
Tenga en cuenta que, en modo estricto (es decir, con use strict
), la instrucción var a = b = 3;
generará un error de tiempo de ejecución de ReferenceError: b is not defined
, evitando así que se produzcan headfakes / errores que de lo contrario podrían resultar. (¡Sin embargo, otro excelente ejemplo de por qué debería usar el use strict
como algo habitual en su código!)
11) ¿Qué es Java Script?
JavaScript es un lenguaje de secuencias de comandos que se puede insertar en páginas HTML.
El código JavaScript puede ser ejecutado por todos los navegadores web más recientes.
12) ¿Qué es el DOM?
El modelo de objetos de documentación es un estándar del consorcio World Wide Web.
El DOM define un estándar para acceder a los documentos:
Tiene 3 partes diferentes:
• Core DOM: modelo estándar para todos los tipos de documentos
• XML DOM: modelo estándar para documentos XML
• DOM HTML: modelo estándar para documentos HTML
13) ¿Cómo declarar variables en Java Script?
Declaramos variables usando la palabra clave var
Sintaxis:
nombre variable de var;
Ex:
var cname;
cname = “gcreddy”;