css如何实现垂直居中
7种方法:1.单行文本元素,vertical-align;2.块级行内元素:display:inline-block,vertica-align,和父元素的伪元素来实现;4.flex布局,align-item:center;5.对于不定高元素,采用top: 50%,transform:translate(-50%, -50%);6.对于定高元素:采用top: 50%;margin-top: -1/2height;7.定高元素:position:absolute,height固定,top: 0; bottom: 0,margin: auto 0.前端性能优化如何做
数组实现一个队列
js字符串实现倒序
js原型链
每一个构造函数都有一个原型对象,这个原型对象包含一个指向构造函数的指针,实例都包含一个指向原型对象的指针。如果试图引用某个实例对象的属性,会首先在对象内部寻找该属性,如果找不到,就去这个对象的原型中去找这个属性。如果让这个原型对象指向另一个构造函数的实例,假设这个原型对象为Son,另一个实例为Father,那么就构成了一层一层对象查找的的原型链web安全相关知识 跨站伪造等
service worker相关,pwa相关知识
http状态码 3开头的,4开头的,5开头的
get post 区别
跨域出现的原因,以及如何解决跨域问题
function A 父类,function B子类,如何通过原型链实现继承
原型继承:子类不能向父类传递参数构造函数继承:子类不能访问到父类原型对象组合继承:父类构造函数将被调用2次寄生组合式继承:解决父类被调用2次的问题son(){ father.call(this)}extend(son, father)extend(son, father) {var F = function() {}F.prototype = father.prototypeson.prototype = new F()son.prototype.constructor = sonson.father = son.prototype}css盒模型相关
箭头函数和普通函数的区别
1.this指向:箭头函数的this指向定义时所在的对象2.箭头函数没有arguments,可以用rest参数替代3.箭头函数不能用作构造函数,和new一起用会抛出错误4.箭头函数没有原型属性5.不可以使用yield命令,不能用作generator函数讲url后面的query参数,通过一个函数解析成对象,用正则如何写
讲讲es6里面的const, const声明的数组,可以朝里面插入元素嘛,为什么
可以,const实际上是变量指向的那个内存地址所保存的数据不能改动。
const常量声明必须立刻赋值,如果声明的是简单数类型,那么不能改变其值,如果是复杂数据类型,那么不能改变其指针指向的地址,但内部的值可以改变
js的事件分为哪几个生命周期,事件的传递方式
knex连接数据库响应回调
介绍异步方案
- 1.回调函数;2.Promise;3.Generator函数;4.Async函数
如何处理异常捕获
项目如何管理模块
前端性能优化
- 1.减少HTTP请求:css/js合并打包;小图标用iconfont代替;使用base64格式的图片,针对一些小图;避免src属性为空字符串,浏览器仍会向服务器发起http请求;
- 2.减少静态资源的体积:压缩静态资源;编写高效率css;服务端开启gzip压缩
- 3.使用缓存:设置HTTP Header里缓存相关的字段。静态内容可以将expires相应头设置为将来很远的时间,动态内容设置合适的cache-control响应头,让浏览器有条件的发起请求;设置Etag通过文件版本标识方便服务器判断请求的内容是否有更新;使用CDN。
- 4.代码层面:减少DOm操作;使用高效和事件处理;使用外部js和css文件,便于被浏览器缓存,在不同页面间可以重用;
JS继承方案
如何判断一个变量是不是数组
- 1.Array.isArray(),为true;2.arr instanceOf Array是否是true;3.Object.prototype.toString.call(arr)是否是[object Array];4/用constructor来判断,arr.constructor === Array(不一定对)
变量a和b,如何交换
- a = a+b; b = a-b; a = a-b;
事件委托
多个标签生成的Dom结构是一个类数组
类数组和数组的区别
- 类数组是一个普通对象,不具备数组的方法
dom的类数组如何转成数组
- 1.使用Array.prototype.slice.call(argument)方法
- 2.使用Array.from(argument)方法
- 3.使用拓展运算符 参数 [...arguents]
介绍单页面应用和多页面应用
- 多页面应用由一个外壳页面和多个页面片段组成,可实现资源公用,页面实现局部刷新和更改,更容易实现转场动画,数据间传递变得更加容易,在代码层面即可实现,维护相对容易。缺点是不利于SEO检索,需要单独的方案,实现较为困难。
redux状态树的管理
介绍localstorage的API
localStorage和cookie有什么区别
CSS选择器有哪些
盒子模型,以及标准情况和IE下的区别
如何实现高度自适应
prototype和
——proto——区别_construct是什么new是怎么实现的- 1创建一个空对象;2将空对象的__proto__指向构造函数prototype,绑定原型;3调用参数函数,改变构造函数this指向新建对象;4返回对象
promise的精髓,以及优缺点
如何实现H5手机端的适配
rem、flex的区别(root em)em和px的区别React声明周期
如何去除url中的#号
Redux状态管理器和变量挂载到window中有什么区别
webpack和gulp的优缺点
如何实现异步加载'
如何实现分模块打包(多入口)
前端性能优化(1js css;2 图片;3 缓存预加载; 4 SSR; 5 多域名加载;6 负载均衡)
并发请求资源数上限(6个)
base64为什么能提升性能,缺点
介绍webp这个图片文件格式
介绍koa2
Promise如何实现的
异步请求,低版本fetch如何低版本适配
ajax如何处理跨域
- JSONP和CORS和WebSocket
CORS如何设置
- 请求头里加上origin,响应头返回Access-Control-Allow-Origin字段即可。分简单请求和复杂请求,复杂请求需要预检
jsonp为什么不支持post方法
- 通过创建一个 script 标签,将 src 设置为目标请求,插入到 dom 中,服务器接受该请求并返回数据,数据通常被包裹在回调钩子中;
- 看过支持 post 请求的 script 么
介绍同源策略
- 协议、端口、域三者都要相同,缺一不可。
React使用过的一些组件
介绍Immuable
介绍下Vuex整个流程原理
介绍原型链
如何继承