####[⬆] Questões de JS:
- Explique o evento delegation.
Resposta: " delegation" Ele defini um evento para um elemento pai, que será disparado para todos os seus filhos. Assim o evento vai funcionar para qualquer elemento filho que já existir e também para os que forem adicionados posteriormente na árvore do DOM.
- Explique como
this
funciona em JavaScript.
Resposta: " this" Ele funciona como um objeto do contexto da função, aonde esse objeto aponta para uma instância da classe dentro da qual o método é definido.
- Explique como funciona herança prototipada.
Resposta: " herança prototipada" * .*
- Como você testa seu JavaScript?
- AMD vs. CommonJS?
- Explique por que a seguinte função não funciona como uma IIFE:
function foo(){ }();
.- O que precisa ser alterado para se tornar uma IIFE?
- Qual a diferença entre uma variável que
null
,undefined
ouundeclared
?- Como você verificaria esses estados?
- O que é uma closure, e como/por que você usaria uma?
- Qual o caso de uso típico para funções anônimas?
- Como você organiza seu código? (module pattern, herança clássica?)
- Qual a diferença entre objetos herdados e objetos nativos?
Qual a diferença entre:
function Person(){}
,var person = Person()
, evar person = new Person()
? - Qual a diferença entre
.call
e.apply
? - Explique
Function.prototype.bind
. - Quando você otimiza seu código?
- Você pode explicar como funciona a herença no Javascript?
- Quando você deve usar o
document.write()
?- A maioria dos anúncios de publicidade ainda utilizam
document.write()
embora seu uso não seja recomendado.
- A maioria dos anúncios de publicidade ainda utilizam
- Qual a diferença entre feature detection, feature inference, e o uso de UA string?
- Explique o que é AJAX o mais detalhadamente possível.
- Explique como o JSONP funciona (e como ele realmente não é AJAX).
- Você já utilizou templates com Javascript?
- Se sim, quais bibliotecas foram utilizadas? (Mustache.js, Handlebars, etc.)
- Explique o que é "hoisting".
- Descreva o que é event bubbling.
- Qual a diferença entre "atributo" e "propriedade"?
- Porque a extensão de objetos nativos não é uma boa ideia?
- Qual a diferença entre o evento document load e o evento document ready?
- Qual a diferença entre
==
e===
? - Explique como você pega um parâmetro na URL do browser.
- Explique a política de same-origin em relação a Javascript.
- Faça isso funcionar:
[1,2,3,4,5].duplicate(); // [1,2,3,4,5,1,2,3,4,5]
//Resp:
Array.prototype.duplicate = function(){return this.concat(this)}
- O que é um operador ternário, o que a palavra "ternário" indica/significa?
- O que é o
"use strict";
? Quais a vantagens e desvantagens de sua utilização? - Crie um loop for que itere até
100
enquanto retorna fizz em múltiplos de3
, buzz em múltiplos de5
e fizzbuzz em múltiplos de3
e5
.
//Resp:
for(var i = 1; i <= 100; i++){
if(i % 3 === 0 && i % 5 === 0){
console.log('fizzbuzz')
}else
if(i%3 === 0){
console.log('fizz')
}else
if(i % 5 === 0){
console.log('buzz')
}else{
console.log(i)
}
}
- Explique "chaining".
- Explique "deferreds".
- Quais são algumas otimizações de jQuery que você pode implementar?
- O que
.end()
faz? - Nomeie 4 valores diferentes que você pode passar para um método jQuery.
- Seletor (string), HTML (string), Callback (function), HTMLElement, object, array, elemento de array, jQuery Object, etc.
- Qual a diferença entre
.get()
,[]
, e.eq()
?
Questão: Como você faria isso funcionar?
add(2, 5); // 7
add(2)(5); // 7
Questão: Qual valor é retornado da seguinte declaração?
"sou uma lasanha".split("").reverse().join("");
Resposta: "ahnasal amu uos"
Questão: Qual é o valor de window.foo
?
( window.foo || ( window.foo = "bar" ) );
Resposta: "bar" (apenas se window.foo for falso, se não ele vai retornar o seu valor próprio).
Questão: Qual o retorno dos dois alerts abaixo?
var foo = "Hello";
(function() {
var bar = " World";
alert(foo + bar);
})();
alert(foo + bar);
Resposta: "Hello World" & ReferenceError: bar is not defined
Questão: Qual o valor de foo.length
?
var foo = [];
foo.push(1);
foo.push(2);