js-----2

box-sizing

box-sizing: content-box; //标准盒模型
box-sizing: border-box;  //ie盒模型

NaN typeof 是什么 null undifined

NaN结果是number,null结果是object,函数结果是function。前端

intanceof如何使用

es6和es5的实现继承的区别,例如es6用class

ES5的继承实质上是先建立子类的实例对象,而后再将父类的方法添加到this上。
es6经过class定义类,类经过extends关键字实现继承,子类必须在constructor方法中调用super方法。es6

Es6中class关键字如何定义私有属性

使用get和set实现。ajax

Generator

最⼤的特色就是能够控制函数的执⾏。
特色:
Generator 函数神奇之一:g()并不执行g函数
g()并不会执行g函数,返回的也不是函数运行结果,而是一个指向内部状态的指针对象,也就是迭代器对象(Iterator Object)。
分段执行
yield:函数体内部使用yield语句,定义不一样的内部状态,控制产出。promise

闭包的经常使用场景

  • setTimeout
  • 封装某些功能的时候

js几种实现包装的方法

如何优化DOM操做

减小dom的操做次数
选择dom节点时尽量使用querySelector(),querySelectorAll()缓存

为何要重写promise的then方法?

每次调⽤ then 以后返回的都是⼀个 Promise,而且是⼀个全新的 Promise,缘由也是由于状态不可变。安全

promise的then的第二个参数和catch的区别

promise里面接收一个参数,参数是函数。这个函数里面传入两个参数:resolve和reject,resolve是异步操做执行成功的回调函数,reject是异步操做执行失败的回调函数,resolve是将Promise的状态置为fullfiledreject是将Promise的状态置为rejected
then方法是一个链式操做,用来分别指定成功和失败的回调函数,then方法能够接受两个参数,第一个对应resolve状态的回调,第二个对应reject状态的回调。Promise对象除了then方法,还有一个catch方法,用于指定发生错误时的回调函数,其实它和then的第二个参数同样,用来指定reject的回调。
区别:then 的第一个函数出错了,后面的catch能够捕获,写到then的第二个函数则捕获不到。数据结构

若是我直接在代码里写个a,会报什么错?

a is not defined。闭包

Webpack用到哪些? loader plugin的区别 用过什么plugin treeshaking是什么

如何添加header头

addHeader(name, value);dom

前端安全 XSS / CSRF 及 如何防范

event loop?

不一样的任务源会被分配到不一样的 Task 队列中,任务源能够分为 微任务(microtask) 和 宏任务(macrotask)。在 ES6 规范中,microtask 称为 jobs,macrotask 称为 task。
Event Loop 执⾏顺序以下所示:异步

  1. ⾸先执⾏同步代码,这属于宏任务
  2. 当执⾏完全部同步代码后,执⾏栈为空,查询是否有异步代码须要执⾏
  3. 执⾏全部微任务
  4. 当执⾏完全部微任务后,若有必要会渲染⻚⾯
  5. 而后开始下⼀轮Event Loop,执⾏宏任务中的异步代码,也就是setTimeout中的回函数.

宏任务的优先级高于微任务。
宏任务:setTimeout、setInterval、setImmediate、requestAnimationFrame。
微任务:Promise.then catch finally、process.nextTick

Ajax 发起的整个流程说一下?从代码级别讲起

fetch和ajax的区别

变量提高讲一下?和函数提高相比哪一个优先级高

函数提高的优先级更高。

DNS 如何查找?你说一下DNS缓存是怎么优化的?DNS如何查询域名的

DNS是用来作域名解析的,当你上网输入网址后,把它转换成IP。

CDN 了解吗?CDN是怎么实现优化的

一个页面白屏,分析缘由

打开控制台看报错,多是资源加载失败,或者请求异常。

数据结构链表

相关文章
相关标签/搜索