面试题收集

9/6/2019 面试

参考:

# react

  1. 你要的 React 面试知识点,都在这了 (opens new window)
  2. React面试题 (opens new window)
  3. react-router (opens new window)

react bind方法的实现原理 参考:面试官问:能否模拟实现JS的bind方法 (opens new window)

  • bind是Function原型链中的Function.prototype的一个属性
  • bind会返回一个跟原函数一样的函数
  • 调用bind函数的this指向bind的第一个参数

# vue

  1. vue面试题 (opens new window)
  2. 双向绑定原理 参考: (opens new window)

Vue 是通过数据劫持结合发布订阅模式来实现双向绑定的

  • Object.defineProperty:数据劫持,get 和 set
  • Observer 监听器:用来监听属性的变化通知订阅者
  • Watcher 订阅者:收到属性的变化,然后更新视图
  • Compile 解析器:解析指令,初始化模版,绑定订阅者

# 原生js

参考阮一峰 学习Javascript闭包(Closure) (opens new window)

  1. 什么是闭包
    闭包就是能够读取其他函数内部变量的函数

闭包的原文是 Closure,跟「包」没有任何关系,闭包常常用来「间接访问一个变量」。

function foo(){
  var local = 1;
  function bar (){
    local++;
    return local;
  }

  return bar;
}

var result = foo();

result();

# 前端安全

  1. 什么是xss攻击 黑客想尽一切方法,将一段脚本内容放到目标网站的目标浏览器上解析执行

危害:

  • 窃取网页浏览中的cookie值
  • 劫持流量实现恶意跳转

防范方法:

  • 过滤所有 HTML JS CSS标签,利用 escapeHTML 方法
  • 对特殊符号进行转义
  • 限制输入长度
Last Updated: 3/20/2024, 8:15:43 AM
강남역 4번 출구
Plastic / Fallin` Dild