仲灏小栈 仲灏小栈
首页
大前端
后端&运维
其他技术
生活
关于我
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

仲灏

诚意, 正心, 格物, 致知
首页
大前端
后端&运维
其他技术
生活
关于我
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • 《前端项目基础建设》
  • HTML&CSS

  • JavaScript&TypeScript

  • Node

  • 构建

  • Vue

  • React

  • 小程序

  • 跨端

  • Electron

  • WebGL&GIS

  • 浏览器

  • 面经

    • 数据结构和算法
    • 项目构建
    • javascript
    • 一面
      • css
        • css盒模型
        • BFC
      • DOM事件类
        • DOM事件模型
        • DOM事件流
        • 描述DOM事件捕获的具体流程
        • Event 对象的常见应用
        • 自定义事件
      • http 协议类
        • 主要特点
      • 原型链类
        • 创建对象有几种方法
        • 原型、构造函数、实例、原型链
      • 通信类
      • 安全类
    • 三面 四面
    • 二面 三面
    • Untitled
    • 初级面试题
  • 其他

  • 大前端
  • 面经
仲灏
2022-06-05
目录

一面

# css

# css盒模型

box-sizing: border-box; // IE模型

box-sizing: content-box; // 标准模型

1
2
3
4

# BFC

边距重叠解决方案

基本概念:块级格式上下文

原理:就是渲染规则:

  • 垂直方向边距会发生重叠
  • BFC的区域不会与浮动元素的box重叠,这个也是用来清除浮动来布局的
  • BFC是一个独立的容器,外面的元素不会影响里面的元素,自然里面的也不会影响外面的元素
  • 计算BFC高度的时候,浮动元素也会参与计算

如何创建BFC

  • 父元素增加overflow: hidden

  • float值不为none;

  • position的值不为static;

  • display:table inline-block flex table-cell

使用场景, 解决问题

  • 使用Float脱离文档流,高度塌陷
  • Margin边距重叠

# DOM事件类

# DOM事件模型

捕获 冒泡

# DOM事件流

DOM0 element.onclick = function() {}

DOM2 element.addEventListener("click", function() {}, false) // true 代表捕获阶段触发 false代表冒泡

DOM3 增加了很多时间 键盘 鼠标

# 描述DOM事件捕获的具体流程

window --> document --> html --> body --> ... --> 目标元素

html => document.element

# Event 对象的常见应用

event.preventDefault() // 阻止默认时间 比如a标签默认跳转事件

event.stopPropagation() // 阻止冒泡事件

event.stopImmediatePropagation() // 多个事件中阻止其他事件

event.currentTarget // 当前所绑定的事件

event.target // 当前所绑定的元素

# 自定义事件

new Event('custome')

new CustomEvent("custome", 传参)

# http 协议类

# 主要特点

简单快速

灵活

无连接

无状态

# 原型链类

# 创建对象有几种方法

  • 字面量对象
var o1 = { name: 'o1' }
var o1 = new Object({ name: 'o1' })
1
2
  • 使用显示构造函数穿件

    var M = function(name) {
    	this.name = name
    }
    var o2 = new M('02');
    
    1
    2
    3
    4
  • Object.create

    var P = { name: o3 };
    var o3 = Object.create(P);
    
    1
    2

# 原型、构造函数、实例、原型链

image-20220606014007779

原型链:从一个实例对象向上找构造这个实例的相关联的对象,从这个关联的对象又网上找原型对象,以此类推,一直到Object.prototype原型对象终止。即Object.prototype为原型链的顶端

# 通信类

跨域通信的几种方式

  • JSONP

    异步script标签加载

  • Hash

    image-20220606032705049

  • postMessage

  • WebSocket

  • CORS

    fetch

# 安全类

CSRF

  • 基本概念和缩写 CSRF,通常称为跨站请求伪造,英文名 Cross-site request forgery 缩写 CSRF

  • CSRF 攻击原理

    image-20220606033831827

  • CSRF 防御措施 Token 验证

    ​ 避免使用session cookie方式

    Referer 验证

    ​ 对页面来源验证,非自己站点页面进行拦截

    隐藏令牌

    ​ 在头部添加,不添加在url地址中

XSS

  • 基本概念和缩写 XSS (cross-site scripting跨域脚本攻击)
上次更新: 2022/07/03, 15:02:21
javascript
三面 四面

← javascript 三面 四面→

最近更新
01
vim日常使用记录
04-02
02
滑动窗口最大值
04-02
03
有效的字母异位词
04-02
更多文章>
Theme by Vdoing | Copyright © 2021-2025 izhaong | github | 蜀ICP备2021031194号
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式