前端JavaScript面试技巧-笔记

基础知识:
 原型 原型链
 作用域 闭包
 异步 单线程

JS-Web-API:
 DOM操作
 Ajax
 事件绑定

开发环境:
 版本管理
 模块化
 打包工具

运行环境:
 页面渲染
 性能优化

几道面试题

  1. JS中使用typeof能得到哪些类型?(考点:JS变量类型)
  2. 何时使用(3等号)何时使用==?(考点:强制类型转换)
  3. window.onload和DOMContentLoaded的区别?(考点:浏览器渲染过程)
  4. 用JS创造10个a标签,点击时弹出对应的序号(考点:作用域)
  5. 简述如何实现一个模块加载器,实现类似require.js的基本功能(考点:JS模块化)
  6. 实现数组的随机排序(考点:JS基础算法)

变量类型和计算
 题目
 知识点
 解答

题目:

  1. JS中使用typeof能得到哪些类型
  2. 何时使用(3等号)何时使用==
  3. JS中有哪些内置函数
  4. JS变量按照存储方式区分为哪些类型,并描述其特点
  5. 如何理解JSON

知识点:
 变量类型
 变量计算

变量类型:
 值类型vs引用类型
 typeof运算符详解

值类型:
在这里插入图片描述
引用类型:对象、数组、函数
前端JavaScript面试技巧-笔记_第1张图片
typeof运算符详解
前端JavaScript面试技巧-笔记_第2张图片
 typeof能够区分值类型,不能区分引用类型
 对象和数组typeof结果都是object,函数是function
 null的结果也是object

变量计算-强制类型转换
 字符拼接
 ==运算符
 if语句
 逻辑运算
字符拼接
在这里插入图片描述
==运算符
在这里插入图片描述
if语句
前端JavaScript面试技巧-笔记_第3张图片
逻辑运算
前端JavaScript面试技巧-笔记_第4张图片
10转换成true,再与上0,结果是0
‘ ’转换成false,在并上’abc’,还是’abc’

问题1:JS中使用typeof能得到哪些类型
前端JavaScript面试技巧-笔记_第5张图片

问题2:何时使用(3等号)何时使用==
前端JavaScript面试技巧-笔记_第6张图片
问题3:JS中有哪些内置函数
前端JavaScript面试技巧-笔记_第7张图片
问题4:JS变量按照存储方式区分为哪些类型,并描述其特点
前端JavaScript面试技巧-笔记_第8张图片
问题5:如何理解JSON
在这里插入图片描述


原型和原型链
 题目
 知识点
 解答

题目:

  1. 如何准确判断一个变量是数组类型
  2. 写一个原型链继承的例子
  3. 描述new一个对象的过程
  4. Zepto(或其他框架)源码中是如何使用原型链

知识点:
 构造函数
 构造函数-扩展
 原型规则和示例
 原型链
 instanceof

构造函数 前端JavaScript面试技巧-笔记_第9张图片
构造函数-扩展
前端JavaScript面试技巧-笔记_第10张图片
原型规则和示例
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
前端JavaScript面试技巧-笔记_第11张图片
前端JavaScript面试技巧-笔记_第12张图片
原型链

循环对象自身的属性
前端JavaScript面试技巧-笔记_第13张图片
前端JavaScript面试技巧-笔记_第14张图片

instanceof
instanceof用于判断引用类型属于哪个构造函数的方法
在这里插入图片描述

问题1:如何准确判断一个变量是数组类型
在这里插入图片描述
问题2:写一个原型链继承的例子
前端JavaScript面试技巧-笔记_第15张图片
前端JavaScript面试技巧-笔记_第16张图片
在这里插入图片描述
问题3:描述new一个对象的过程
前端JavaScript面试技巧-笔记_第17张图片

问题4:Zepto(或其他框架)源码中是如何使用原型链
在这里插入图片描述


作用域和闭包
 题目
 知识点
 解答

题目:

  1. 说一下对变量提升的理解
  2. 说明this几种不同的使用场景
  3. 创建10个标签,点击的时候弹出来对应的序号
  4. 如何理解作用域
  5. 实际开发中闭包的作用

知识点:
 执行上下文
 this
 作用域
 作用域链
 闭包

执行上下文
前端JavaScript面试技巧-笔记_第18张图片
前端JavaScript面试技巧-笔记_第19张图片
this
this要在执行时才能确认值,定义时无法确定
前端JavaScript面试技巧-笔记_第20张图片
在这里插入图片描述
作为构造函数执行
在这里插入图片描述
作为对象属性执行
前端JavaScript面试技巧-笔记_第21张图片
作为普通函数执行
在这里插入图片描述
call apply bind
前端JavaScript面试技巧-笔记_第22张图片

作用域
在这里插入图片描述
前端JavaScript面试技巧-笔记_第23张图片
作用域链
前端JavaScript面试技巧-笔记_第24张图片
前端JavaScript面试技巧-笔记_第25张图片
闭包

前端JavaScript面试技巧-笔记_第26张图片
在这里插入图片描述
前端JavaScript面试技巧-笔记_第27张图片
前端JavaScript面试技巧-笔记_第28张图片
问题1:说一下对变量提升的理解
在这里插入图片描述
问题2:说明this几种不同的使用场景
前端JavaScript面试技巧-笔记_第29张图片
问题3:创建10个标签,点击的时候弹出来对应的序号
前端JavaScript面试技巧-笔记_第30张图片
For循环结束后,开始监听事件,这里alert(i)中的i是自由变量,到其父作用域中找,此时i=10.所以点击弹出来的都是10.
前端JavaScript面试技巧-笔记_第31张图片
问题4:如何理解作用域
在这里插入图片描述
问题5:实际开发中闭包的作用
前端JavaScript面试技巧-笔记_第32张图片
_list不会被外部随意修改
在这里插入图片描述


异步和单线程
 题目
 知识点
 解答

题目:

  1. 同步和异步的区别是什么?分别举一个同步和异步的例子
  2. 一个关于setTimeout的笔试题
  3. 前端使用异步的场景有哪些

知识点:
 什么是异步(对比同步)
 前端使用异步的场景
 异步和单线程

什么是异步(对比同步)
在这里插入图片描述
在这里插入图片描述
前端使用异步的场景
在这里插入图片描述
在这里插入图片描述
前端JavaScript面试技巧-笔记_第33张图片
前端JavaScript面试技巧-笔记_第34张图片
前端JavaScript面试技巧-笔记_第35张图片

异步和单线程
前端JavaScript面试技巧-笔记_第36张图片
问题1:同步和异步的区别是什么?分别举一个同步和异步的例子
在这里插入图片描述
问题2:一个关于setTimeout的笔试题
前端JavaScript面试技巧-笔记_第37张图片
1,3,5,2,4
问题3:前端使用异步的场景有哪些
在这里插入图片描述


其他知识
 题目
 知识点
 解答

题目

  1. 获取2017-06-10格式的日期
  2. 获取随机数,要求长度一致的字符串格式
  3. 写一个能遍历对象和数组的通用forEach函数

知识点
 日期
 Math
 数组API
 对象API

日期
前端JavaScript面试技巧-笔记_第38张图片
Math
在这里插入图片描述
数组API
前端JavaScript面试技巧-笔记_第39张图片
在这里插入图片描述
前端JavaScript面试技巧-笔记_第40张图片
前端JavaScript面试技巧-笔记_第41张图片

前端JavaScript面试技巧-笔记_第42张图片
在这里插入图片描述
前端JavaScript面试技巧-笔记_第43张图片

对象API
前端JavaScript面试技巧-笔记_第44张图片

问题1:获取2017-06-10格式的日期
前端JavaScript面试技巧-笔记_第45张图片
问题2:获取随机数,要求长度一致的字符串格式
在这里插入图片描述
问题3:写一个能遍历对象和数组的通用forEach函数

前端JavaScript面试技巧-笔记_第46张图片


JS-Web-API

前端JavaScript面试技巧-笔记_第47张图片
前端JavaScript面试技巧-笔记_第48张图片
前端JavaScript面试技巧-笔记_第49张图片

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
前端JavaScript面试技巧-笔记_第50张图片
前端JavaScript面试技巧-笔记_第51张图片

DOM操作
Document Object Model
 题目
 知识点
 解答

题目:

  1. DOM是哪种基本的数据结构?
  2. DOM操作的常用API有哪些?
  3. DOM节点的attr和property有何区别?

知识点:
 DOM本质
 DOM节点操作
 DOM结构操作

DOM本质
前端JavaScript面试技巧-笔记_第52张图片
DOM节点操作
在这里插入图片描述
前端JavaScript面试技巧-笔记_第53张图片
前端JavaScript面试技巧-笔记_第54张图片
前端JavaScript面试技巧-笔记_第55张图片
DOM结构操作
在这里插入图片描述
前端JavaScript面试技巧-笔记_第56张图片
前端JavaScript面试技巧-笔记_第57张图片
前端JavaScript面试技巧-笔记_第58张图片
问题1:DOM是哪种基本的数据结构?
在这里插入图片描述
问题2:DOM操作的常用API有哪些?
前端JavaScript面试技巧-笔记_第59张图片
问题3:DOM节点的attr和property有何区别?
在这里插入图片描述


BOM操作
Browser Object Model
 题目
 知识点
 解答

题目:

  1. 如何检测浏览器的类型
  2. 拆解url的个部分

知识点:
 Navigator
 Screen
 Location
 History
前端JavaScript面试技巧-笔记_第60张图片
前端JavaScript面试技巧-笔记_第61张图片

问题1:如何检测浏览器的类型
在这里插入图片描述
问题2:拆解url的个部分
前端JavaScript面试技巧-笔记_第62张图片


事件

 题目
 知识点
 解答

题目:

  1. 编写一个通用的事件监听函数
  2. 描述事件冒泡流程
  3. 对于一个无限下拉加载图片的页面,如何给每个图片绑定事件

知识点:
 通用事件绑定
 事件冒泡
 代理

通用事件绑定
前端JavaScript面试技巧-笔记_第63张图片
前端JavaScript面试技巧-笔记_第64张图片
前端JavaScript面试技巧-笔记_第65张图片
事件冒泡
前端JavaScript面试技巧-笔记_第66张图片
代理

前端JavaScript面试技巧-笔记_第67张图片

问题1:编写一个通用的事件监听函数
前端JavaScript面试技巧-笔记_第68张图片
问题2:描述事件冒泡流程
前端JavaScript面试技巧-笔记_第69张图片
问题3:对于一个无限下拉加载图片的页面,如何给每个图片绑定事件
在这里插入图片描述


Ajax
 题目
 知识点
 解答

题目:

  1. 手动编写一个ajax,不依赖第三方库
  2. 跨域的几种实现方式

知识点:
 XMLHttpRequest
 状态码说明
 跨域

XMLHttpRequest
前端JavaScript面试技巧-笔记_第70张图片
前端JavaScript面试技巧-笔记_第71张图片

状态码说明
前端JavaScript面试技巧-笔记_第72张图片
前端JavaScript面试技巧-笔记_第73张图片
跨域
 什么是跨域
 JSONP
 服务器端设置http header
什么是跨域
前端JavaScript面试技巧-笔记_第74张图片
前端JavaScript面试技巧-笔记_第75张图片
在这里插入图片描述
在这里插入图片描述

JSONP
前端JavaScript面试技巧-笔记_第76张图片
前端JavaScript面试技巧-笔记_第77张图片
在这里插入图片描述

服务器端设置http header

在这里插入图片描述
前端JavaScript面试技巧-笔记_第78张图片
手动编写一个ajax,不依赖第三方库
前端JavaScript面试技巧-笔记_第79张图片
跨域的几种实现方式
在这里插入图片描述


存储

 题目
 知识点
 解答

题目
在这里插入图片描述
知识点
前端JavaScript面试技巧-笔记_第80张图片
在这里插入图片描述
前端JavaScript面试技巧-笔记_第81张图片
在这里插入图片描述
前端JavaScript面试技巧-笔记_第82张图片
关于开发环境
在这里插入图片描述
前端JavaScript面试技巧-笔记_第83张图片
前端JavaScript面试技巧-笔记_第84张图片
前端JavaScript面试技巧-笔记_第85张图片
前端JavaScript面试技巧-笔记_第86张图片
前端JavaScript面试技巧-笔记_第87张图片
前端JavaScript面试技巧-笔记_第88张图片
前端JavaScript面试技巧-笔记_第89张图片
前端JavaScript面试技巧-笔记_第90张图片


模块化

本身就是一个面试的题目

前端JavaScript面试技巧-笔记_第91张图片
前端JavaScript面试技巧-笔记_第92张图片
前端JavaScript面试技巧-笔记_第93张图片
在这里插入图片描述
前端JavaScript面试技巧-笔记_第94张图片
前端JavaScript面试技巧-笔记_第95张图片

前端JavaScript面试技巧-笔记_第96张图片
前端JavaScript面试技巧-笔记_第97张图片
前端JavaScript面试技巧-笔记_第98张图片
前端JavaScript面试技巧-笔记_第99张图片
前端JavaScript面试技巧-笔记_第100张图片
前端JavaScript面试技巧-笔记_第101张图片
在这里插入图片描述
前端JavaScript面试技巧-笔记_第102张图片
前端JavaScript面试技巧-笔记_第103张图片
前端JavaScript面试技巧-笔记_第104张图片
在这里插入图片描述
前端JavaScript面试技巧-笔记_第105张图片
运行环境

前端JavaScript面试技巧-笔记_第106张图片
前端JavaScript面试技巧-笔记_第107张图片

页面加载过程
 题目
 知识点
 解答
题目

在这里插入图片描述
知识点
在这里插入图片描述
前端JavaScript面试技巧-笔记_第108张图片
前端JavaScript面试技巧-笔记_第109张图片
前端JavaScript面试技巧-笔记_第110张图片
前端JavaScript面试技巧-笔记_第111张图片
前端JavaScript面试技巧-笔记_第112张图片
在这里插入图片描述
前端JavaScript面试技巧-笔记_第113张图片
前端JavaScript面试技巧-笔记_第114张图片
前端JavaScript面试技巧-笔记_第115张图片
解答

前端JavaScript面试技巧-笔记_第116张图片
在这里插入图片描述
性能优化
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
前端JavaScript面试技巧-笔记_第117张图片
前端JavaScript面试技巧-笔记_第118张图片

几个示例

前端JavaScript面试技巧-笔记_第119张图片
前端JavaScript面试技巧-笔记_第120张图片
在这里插入图片描述
在这里插入图片描述
前端JavaScript面试技巧-笔记_第121张图片
前端JavaScript面试技巧-笔记_第122张图片
前端JavaScript面试技巧-笔记_第123张图片

前端JavaScript面试技巧-笔记_第124张图片
前端JavaScript面试技巧-笔记_第125张图片
安全性
在这里插入图片描述
在这里插入图片描述
前端JavaScript面试技巧-笔记_第126张图片
前端JavaScript面试技巧-笔记_第127张图片
前端JavaScript面试技巧-笔记_第128张图片
在这里插入图片描述
简历

前端JavaScript面试技巧-笔记_第129张图片
前端JavaScript面试技巧-笔记_第130张图片

你可能感兴趣的:(前端JavaScript面试技巧-笔记)