Perguntas da entrevista de front-end da filial de Zhengzhou NetEase (você não pode comprar com dinheiro)

1. O que clear: left se refere especificamente a?
  Explicação padrão W3C: Insira a descrição da imagem aqui
2. Se o elemento pai tiver o atributo de transformação, o "posicionamento fixo" do elemento filho será convertido em "posicionamento absoluto":
  {posição: fixo;} → {posição: absoluto;}
Insira a descrição da imagem aqui
3. A maneira como o elemento é centralizado verticalmente:
      " Clique aqui "
Insira a descrição da imagem aqui
4. O que é BFC e como acioná-lo?
  BFC (contexto de formatação de bloco) é literalmente traduzido como "contexto de formatação de nível de bloco". É uma área de renderização independente com apenas blocos participantes, especifica como os blocos internos são dispostos e nada tem a ver com o exterior desta área.
bloco: Elementos cujo atributo de exibição é bloco, item de lista e tabela irão gerar bloco.

Regras de layout do BFC:
  1) As caixas internas serão colocadas na direção vertical uma após a outra;
  2) a distância vertical das caixas é determinada pela margem. As margens de duas caixas adjacentes pertencentes ao mesmo BFC se sobreporão;
  3) O lado esquerdo da caixa da margem de cada elemento toca o lado esquerdo da caixa da borda que contém o bloco (para formatação da esquerda para a direita, caso contrário, o oposto). Isso é verdadeiro mesmo se houver um float;
  4) A área BFC não se sobreporá à caixa flutuante;
  5) BFC é um contêiner isolado e independente na página e os elementos filhos dentro do contêiner não afetarão os elementos externos. O oposto também é verdadeiro;
  6) Ao calcular a altura do BFC, os elementos flutuantes também participam do cálculo.

Quais elementos gerarão o BFC?
  1) Elemento raiz, como <html> </html>;
  2) O atributo float não é nenhum;
  3) A posição é absoluta ou fixa;
  4) A exibição é inline-block, table-cell, table-caption, flex, inline-flex;
  5) Overflow não é visível;

função BFC:
  1) Elementos flutuantes não podem sustentar o elemento pai:
em circunstâncias normais, a altura do elemento pai será sustentada pelo elemento filho. Se o elemento pai não definir a altura, seus elementos filho serão todos flutuantes. Nesse momento, a altura do elemento pai entrará em colapso e os limites superior e inferior Coincidência, ou seja, o elemento flutuante não pode suportar o elemento pai. Neste momento, você pode usar o BFC para limpar o float e definir o elemento pai como um ambiente BFC como um todo.
Insira a descrição da imagem aqui
  2) Não coberto por elementos flutuantes: Os
irmãos flutuantes Div cobrem o problema: Como o elemento de nível de bloco à esquerda está flutuando e o elemento de nível de bloco à direita não está na mesma camada, ocorrerá o problema de oclusão div. Você pode adicionar overflow: hidden no bloco certo para acionar o bfc e resolver o problema de oclusão.
Insira a descrição da imagem aqui
  3) O BFC resolve o problema do colapso da margem: O problema do
colapso da margem: No fluxo de documentos padrão, a margem vertical entre as marcas de nível de bloco será maior.Este é o fenômeno do colapso da margem. Você pode adicionar estouro aos elementos pais de ambas as partes: oculto; acionar o BFC para resolver. Bfc só pode ser disparado quando adicionado ao elemento pai de ambos os lados.
Insira a descrição da imagem aqui
5. Determine se o cliente é PC ou celular:
Insira a descrição da imagem aqui
  verificação regular:

var isMobile = /(iPhone|iPad|iPod|iOS|Android)/i.test(navigator.userAgent);
if(isMobile){
    
    
	h1.innerHTML="手机用户您好!";
}else{
    
    
	h1.innerHTML="电脑用户您好!";
}

  Correspondência de tipo:

!function(){
    
    
    var flag = true;
    var userAgentInfo = navigator.userAgent;
    var Agents = ["Android", "iPhone", "SymbianOS", "Windows Phone", "iPad", "iPod"];
    for (var v = 0; v < Agents.length; v++) {
    
    
        if (userAgentInfo.indexOf(Agents[v]) > 0) {
    
    
            flag = false;
            break;
        }
    }
    if(flag){
    
    
      h1.innerHTML="电脑用户您好!";
    }else{
    
    
      h1.innerHTML="手机用户您好!";
    }
}()

6. Como JS evita que os eventos borbulhem?
  O que é um evento JS borbulhando?
Acionar um determinado tipo de evento em um objeto (como um evento click onclick). Se o objeto definir um manipulador para este evento, este evento irá chamar este manipulador. Se este manipulador de eventos não for definido ou o evento retornar verdadeiro, então Este evento se propagará para o objeto pai deste objeto, de dentro para fora, até que seja processado (todos os eventos semelhantes do objeto pai serão ativados), ou alcance o nível superior da hierarquia do objeto, o objeto de documento (alguns navegando O dispositivo é janela).
  1) event.stopPropagation (); Durante o
processamento do evento, o bubbling do evento é impedido, mas o comportamento padrão não é evitado;
  2) return false; Durante o
processamento do evento, o bubbling do evento é evitado e o comportamento padrão também é evitado;
  3) event.preventDefault (); Durante o
processamento do evento, o borbulhamento do evento não é evitado, mas o comportamento padrão é evitado;

7. Como inserir uma linha na tabela com JS?
Insira a descrição da imagem aqui

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title></title>
</head>
<body>
    <input type="button" value="添加行" onclick="add()">
    <table border="1" id="tab">
        <tr>
            <td>A</td>
            <td>B</td>
            <td>C</td>
            <td>D</td>
        </tr>
    </table>
</body>
<script>
    var j=1;
    function add(){
     
     
        var tableobj =document.getElementById("tab");
        var trobj =document.createElement("tr");
        var tdobj = document.createElement("td");
        for(var i=0;i<4;i++)
        {
     
     
            var tdobj=document.createElement("td");
            tdobj.innerHTML=j++;
            trobj.appendChild(tdobj);
        }
        trobj.appendChild(tdobj);
        tableobj.appendChild(trobj);
    }
</script>
</html>


  O entrevistador me fez muitas perguntas naquele dia. Eu classifiquei por categoria e coloquei a primeira metade aqui, e a segunda metade envolve frameworks convencionais e otimizações de ponta. Vou organizá-los e compartilhá-los com você. Você pode marcar este conteúdo para evitar perdas.

Insira a descrição da imagem aqui  O aprendizado inicial não é feito da noite para o dia. Sem pisar, não há como chegar a milhares de quilômetros. Somente com trabalho árduo contínuo você e eu podemos ganhar algo. Conhecimento profissional pode ser aprendido por instituições. O estabelecimento de instituições de treinamento é inevitável. Você está gastando o dinheiro certo?

Leitura recomendada:

  Se este artigo for útil para você, verifique meu artigo afixado, obrigado! Que seu estudo seja tranquilo e sua carreira prospere.

Acho que você gosta

Origin blog.csdn.net/weixin_45820444/article/details/109270995
Recomendado
Clasificación