1. JavaScript的基本类型有哪些?引用类型有哪些?null和undefined的区别?
- 基本类型:String、Number、Boolean、Null、Undefined
- 引用类型:Array、Function、Object
区别:
null表示将要用来保存对象,还没有真正保存对象的值,null表示一个空指针
undefined表示,已经声明,但是没有赋值。
null==undefined // true
null === undefined // false
区别:
null表示将要用来保存对象,还没有真正保存对象的值,null表示一个空指针
undefined表示,已经声明,但是没有赋值。
null==undefined // true
null === undefined // false
什么是 dom?
dom 节点的 Attribute 和 Property 有何区别?
dom 结构操作怎样添加、移除、移动、复制、创建和查找节点?
dom 事件模型?
什么是事件冒泡,它是如何工作的?如何阻止事件冒泡、默认行为?
JavaScript 动画和 CSS3 动画有什么区别?
event 对象的常见应用?
通用事件绑定/ 编写一个通用的事件监听函数?
DOM 和 BOM 的区别
事件三要素
事件执行过程
获取元素位置
封装运动函数
绑定事件和解除事件的区别
谈谈事件委托的理解?
JavaScript 中的定时器有哪些?他们的区别及用法是什么?
比较 attachEvent 和 addEventListener?
document.write 和 innerHTML 的区别?
什么是 window 对象?什么是 document 对象?
Js 拖动的原理?
描述浏览器的渲染过程,DOM 树和渲染树的区别
如何最小化重绘(repaint)和回流(reflow)
Js 延迟加载的方式有哪些?
IE 与标准事件模型有哪些差别?
typeof 和 instanceof 区别
js 使用 typeof 能得到的哪些类型?
解释一下什么是回调函数,并提供一个简单的例子?
什么是闭包?
什么是内存泄漏
哪些操作会造成内存泄漏?
JS 内存泄漏的解决方式
说说你对原型(prototype)理解
介绍下原型链(解决的是继承问题吗)
常见的 js 中的继承方法有哪些
介绍 this 各种情况
数组中的 forEach 和 map 的区别?
for in 和 for of 的区别
call 和 apply,bind 的区别
EventLoop 事件循环机制
js 防抖和节流
new 操作符具体干了什么呢?
用 JavaScript 实现冒泡排序。数据为 23、45、18、37、92、13、24
用 js 实现随机选取 10–100 之间的 10 个数字,存入一个数组并 排序
已知数组 var stringArray = [“This”,“is”, “Baidu”,“Campus”], Alert 出”This is Baidu Campus”
已知有字符串 foo=”get-element-by-id”,写一个 function 将其 转化成驼峰表示法”getElementById”
有 这 样 一 个 http://item.taobao.com/item.htm?a=1&b=2&c=&d=xxx&e,请写一段 JS 程序提取 URL 中的各个 GET 参数(参数名和参数个数不确定),将 其按 key-value 形式返回到一个 json 结构中,如
输出今天的日期,以 YYYY-MM-DD 的方式,比如今天是 2021 年 9 月 26 日,则输出 2014-09-26
把两个数组合并,并删除第二个元素。
写一个 function,清除字符串前后的空格。(兼容所有浏览器)
截取字符串 abcdefg 的 efg
判断一个字符串中出现次数最多的字符,统计这个次数
将数字 12345678 转化成 RMB 形式 如: 12,345,678
split()和 join()的区别?
JavaScript 中如何对一个对象进行深度 clone?
js 数组去重,能用几种方法实现
谈谈你对 Javascript 垃圾回收机制的理解?
class 和普通构造函数有何区别?
JS 里垃圾回收机制是什么,常用的是哪种,怎么处理的?
什么是进程、什么是线程、它们之间是什么关系
什么是任务队列?
栈和队列的区别?
栈和堆的区别?
jQuery 的(document).ready(function()),(function () {})与原生 JS 的 window.onload 有什么不同?
jQuery 和 Zepto 的区别?各自的使用场景?
你是如何使用 jQuery 中的 ajax 的?
jQuery 的常用的方法增、删、复制、改、查
jQuery 中.get()提交和.post()提交的区别?
简单的讲叙一下 jQuery 是怎么处理事件的,你用过哪些事件?
你使用过 jQuery 中的动画吗,是怎样用的?
你在 jQuery 中使用过哪些插入节点的方法,它们的区别是什么?
jQuery 中如何来获取或设置属性?
jQuery 如何设置和获取 HTML、文本和值?
有哪些查询节点的选择器?
jQuery 中的 hover()和 toggle()有什么区别?
jQuery 中 detach()和 remove()方法的区别是什么?
$(this)和 this 关键字在 jQuery 中有何不同?
jQuery 中 attr()和 prop()的区别
jQuery 库中的$()是什么?
jQuery 的属性拷贝(extend)的实现原理是什么,如何实现深浅拷 贝?
jQuery 的实现原理?
echarts 的基本用法
如何使用 echarts
echarts 如何画图?
echarts 绘制条形图
切换其他组件统计图时,出现卡顿问题如何解决
echarts 图表自适应 div resize 问题
echarts 在 vue 中怎么引用?
echarts 支持哪些图标?
什么是 Ajax,Ajax 的原理,Ajax 都有哪些优点和缺点?
常见的 HTTP 状态码以及代表的意义
请介绍一下 XMLHTTPrequest 对象及常用方法和属性
Ajax 的实现流程是怎样的?
Ajax 接收到的数据类型有哪些,数据如何处理?
请解释一下 JavaScript 的同源策略
为什么会有跨域的问题出现,如何解决跨域问题
Get 和 Post 的区别以及使用场景
解释 jsonp 的原理
封装好的 Ajax 里的常见参数及其代表的含义
jQuery 中$.ajax 与 fetch 、axios 有什么区别?
Ajax 注意事项及适用和不适用场景
HTTP 与 HTTPS 的区别
localStorage、sessionStorage、cookie 的区别
简述 web 前端 Cookie 机制,并结合该机制说明会话保持原理?
一个页面从输入 URL 到页面加载显示完成,这个过程中都发生 了什么
你知道的 HTTP 请求方式有几种
什么是 TCP 连接的三次握手
为什么 TCP 连接需要三次握手四次挥手
TCP 与 UDP 的区别有哪些
介绍一下 websocket
拆解一下 URL 的各个部分,分别是什么意思
HTTP 缓存机制
ES5 和 ES6 的区别,说几个 ES6 的新增方法
ES6 的继承和 ES5 的继承有什么区别
var、let、const 之间的区别
class、extends 是什么,有什么作用
module、export、import 有什么作用
使用箭头函数应注意什么/箭头函数和普通函数的区别
ES6 的模板字符串有哪些新特性?并实现一个类模板字符串的功 能
介绍下 Set、Map 的区别
setTimeout、Promise、Async/Await 的区别
Promise 有几种状态,什么时候会进入 catch?
ES6 怎么写 class ,为何会出现 class
如何获取多个 Promise 最后整体结果?
ES6 如何转化为 ES5,为什么要转化
日常前端代码开发中,有哪些值得用 ES6 去改进的编程优化或者 规范
ES6 和 node 的 commonjs 模块化规范的区别
Promise 中 reject 和 catch 处理上有什么区别
理解 async/await 以及相对 Generator 的优势
手写一个 Promise
Promise 如何封装一个 Ajax
下面的输出结果是多少 
以下代码依次输出的内容是 
分析下列程序代码,得出运行结果,解释其原因 
分析下列程序代码,得出运行结果,解释其原因 
使用结构赋值,实现两个变量的值的交换
说一下 ES6 的导入导出模块
git 的基本使用方法
git 工作流程
我们如何使用 git 和开源的码云或 github 上面的远端仓库的项目进 行工作呢
git,github, gitlab 三者之间的联系以及区别
github 和码云的区别
提交时发生冲突,你能解释冲突是如何产生的吗?你是如何解决 的
如果本次提交误操作,如何撤销
git 修改提交的历史信息
如何删除 github 和 gitlab 上的文件夹
如何查看分支提交的历史记录?查看某个文件的历史记录呢
git 跟 svn 有什么区别
我们在本地工程常会修改一些配置文件,这些文件不需要被提交, 而我们又不想每次执行 git status 时都让这些文件显示出来,我们该如 何操作
git fetch 和 git merge 和 git pull 的区别
如何把本地仓库的内容推向一个空的远程仓库
对于初学ES6的小伙伴,这里有一个非常重要的建议:不要一上来就去学习vuejs、Reactjs或Angularjs。在学习这些框架之前,建议先花点时间学习ES6。不然在学习框架的过程中,你会发现“寸步难行”,因为现在这些框架都是采用ES6新语法来编写代码的。