★★★★ 说说你对 JavaScript 的作用域的理解。什么是作用域链?
★★★ 对闭包的看法,为什么要用闭包?说一下闭包的原理以及应用场景?闭包的 this 指向问题?
★★★ 如何确定 this 指向?改变 this 指向的方式有哪些?
★★★ async 和 await 、promise的区别 和 这两个的本质
★★★ 移动端点击事件 300ms 延迟如何去掉?原因是什么?
★★★ Cookie 有哪些属性?其中HttpOnly,Secure,Expire分别有什么作用?
★★★★ 如何实现函数的柯里化?比如 add(1)(2)(3)
★★ 将 [1,2] 与 [3,[4]] 合并为 [1,2,3,[4]]
★★ Array.forEach() 与 Array.map() 的区别,Array.slice() 与 Array.splice() 的区别?
★★ Promise.resolve(Promise.resolve(1)).then(console.log) 输出?
★★★ document load 和 documen ready的区别
★★★ 如何用 setTImeout 来实现 setInterval?
★★★ 如何判断 user 对象里有没有 a 这个属性?如果把user对象中所有的属性都输出出来?[这里是代码001]
★★ 使用 setTimeout 模拟 setInterval 的功能做一个60秒的倒数计时
★★★ 实现一个函数 add(),运算结果可以满足如下预期结果
add(1)(2) //3
add(1,2,3)(10) //16
add(1)(2)(3,4)(5) //15
★★ 写一个 function,清除字符串前后的空格。(兼容所有的浏览器)
★★ JavaScript 中 callee 和 caller 的作用
★★★ jQuery 的事件委托方法 on,live,delegate之间有区别?
★★★ 已知a,b两个构造函数,现在 let c = new a(),如何在c的存储地址不变的情况下,改变c的继承(c->a 转为 c->b)
★★★ 写一个函数,接受可变个数参数,且每个参数均为数字,返回参数的最大值。
★★★ 实现一个函数 clone,可以对 JavaScript 中的5种主要数据类型进行值复制。
★★★ 假如A页面我定义了一个定时器,然后跳到B页面如果让A页面的定时器暂停
★★★ promise的实现原理,如果我现在向服务器发送一个请求,但是我后悔了,不想让服务器返回数据,去实现一个delay
★★★ CommonJS 和 RequireJS 的实现原理
★★★★★ 函数节流、防抖。scroll resize 使用函数节流实现不要频繁触发事件的需求。
★★★ swiper 插件从后台获取数据没问题,css 代码啥的也没问题,但是图片不动,应该怎么解决?
★★★ ES6 class 关键字原理跟 function 什么区别?
★★★ require.js 源码看过吗?怎么做到异步加载的
★★ jQuery,$() 能传什么参数? html 代码怎么解析? 传 function 呢?
★★★ 0.1+0.2 等不等于 0.3?自己封装一个让他们相等的方法
★★★ super() 是否必须执行?不执行怎么让它不报错?
★★ for-in 循环会遍历出原型上的属性吗?怎么避免遍历到原型上的属性
★★★ 简述call、apply、bind,call 和 apply哪个性能更好?
★★★ Promise 避免回调地狱的语法糖–实现链式调用的核心点是什么?
★★ import export commonJS 对比区别
★★★ 你知道 ES6 中的 Generator 和 yiled 吗?在实际开发中使用过吗?
★★★ Cookie、storage 的区别?什么时候使用?
★★★ map、fillter、reduce 各自有什么作用?
★★ new 的原理是什么?通过 new 的方式创建对象和通过字面量创建有什么区别?
★★★ promise 常见方法和 all 和 race的应用场景
★★★★ 你知道什么是原型吗?我们为什么要用原型呢?或者说原型为我们提供了什么?
★★★ 你了解原型链吗 你能说说 prototype 与?proto?的区别吗?
★★ 为什么 await 在 forEach 中不生效?如何解决?
★★ 请描述一下 cookies,sessionStorage 和 localStorage 的区别?
JavaScript面试真题
1. ★★ 介绍一下JS的内置类型有哪些?
1. 空类型:null
2. 未定义:undefined
3. 布尔:boolean
4. 数字:number
5. 字符串:string
6. 符号:symbol(ES6新增)
7. 对象:object
除了对象之外,其他为基本类型.
2. ★★★★ 介绍一下 typeof 区分类型的原理
typeof原理: 不同的对象在底层都表示为二进制,在Javascript中二进制前(低)三位存储其类型信息。
000: 对象
010: 浮点数
100:字符串
110: 布尔
1: 整数
/*----------------------------------------------*/
typeof null 为"object", 原因是因为 不同的对象在底层都表示为二进制,在Javascript中二进制前(低)三位都为0的话会