- 博客(306)
- 收藏
- 关注
原创 [Vue warn]: Error in render: “TypeError: Cannot read property ‘0‘ of undefined“
出现原因:页面渲染与数据加载不同步(渲染错误:一般出现在多层数据的嵌套获取的过程中)解决方法:在整个页面的最外层div中加入 v-if 或者在出现多层嵌套的地方加入 v-if
2021-08-10 10:58:20
267
原创 4.vertical-align
1.作用:用来指定行内元素(inline)或表格单元格(table-cell)元素的垂直方向上的对齐方式。只对行内元素、表格单元格元素生效:不能用它垂直对齐块级元素
2021-08-10 10:47:20
173
原创 为什么使用const声明的变量不可以修改:
开发实践表明:除非确实需要一个将来会重新赋值的变量,否则应该尽可能多的使用const声明,这样可以从根本上保证提前发现重新赋值导致的bug。show me the code:
2021-08-10 10:45:52
594
原创 2021-06-22vivo面试补充
BFC布局详细,作用,如何触发,浮动流的标准说法父子div结构,父子均为100*100,子元素设置margin-top:10px,会发生什么定位relative,position,fixed都相对于什么进行定位,fixed为什么可以浮动在最上层es6与es5的不同给定子元素宽度为父级的20%,如何设置子元素高度也为20%响应式布局:最好自己能够去上手...
2021-06-22 19:58:35
113
原创 2021-06-22滴滴面试补充
hash模式与history的区别css3中的flex和grides6常用语法map与set的区别js继承模型原型与原型链(之前总结的不好)从输入url开始,整个过程描述前端页面渲染过程,详细的js中两等号和三等号的区别,严格相等与非严格相等闭包的作用域链不释放与内存泄漏是一个东西吗js垃圾回收机制项目协作与git...
2021-06-22 18:45:35
114
原创 2.常用排序算法
13/100发布文章加粗倾斜下划线删除线h1h2h3颜色块引用有序无序链接代码段插入公式表格图表图像水平线视频摘要缩进目录撤消重做
2021-06-21 21:22:28
108
原创 2021-06-21网易面试补充
fetch与HTTP请求的区别强缓存与协商缓存,缓存命中,具体的算法题目撸的快排VueX状态改变的时候,其他组件是怎么知道的,render树发生改变的过程为什么better-scroll比原生的滚动流畅DNS域名查询跨域问题与同源策略面试前对应公司的面经多看,项目问题不够详细,前端工匠博客内容HTTP请求中get与post的区别为什么选前端...
2021-06-21 20:52:22
157
原创 2021-06-17网易面试补充
定位复习:relative是否脱离文档流flex布局box盒模型以及分类vue-router原理this问题总结call/apply/bind与this指向深度克隆:typeof && instanceof原型链promise的理解10.async/await以及返回值11.父子组件的生命周期:created与monted谁先完成...
2021-06-17 16:33:23
92
原创 2021-06-15滴滴面试补充
1. 闭包复习2. Vue相关及原理:Vue-x, Vue-router等3. 进程与线程4. HTTP与HTTPs5. webpack又问到了6. Vue双向绑定原理7. 输入url后的一系列操作8. flex布局常用属性9. 动态规划:爬楼梯10. TCP三次握手,四次挥手11. 死锁12. 手写promise的逻辑13. es6相对于es5最大的升级:let ?const ?14. BFC15.常见状态码16.[十进制小数与二进制小数互相转化]( https://www.
2021-06-15 22:30:09
116
原创 js16:从输入url开始,前端如何优化
1.从输入url开始,到页面显示的整个过程(1)DNS 解析:将域名解析成 IP 地址(2)TCP 连接:TCP 三次握手(3)发送 HTTP 请求(4)服务器处理请求并返回 HTTP 报文(5)浏览器解析渲染页面(6)断开连接:TCP 四次挥手2.每一步如何优化(1)DNS解析:利用缓存减少DNS查询,浏览器,操作系统,路由器都有DNS缓存机制(2)利用浏览器缓存机制,减少HTTP请求,expires&&cache-control lastModified&&
2021-06-15 14:56:10
177
原创 16.js常用异步编程解决方案***
*js最初使用callback解决异步问题1.promise/promise.all()1)三种状态2)链式调用 : 解决回调地狱2.生成器Generator/yield/nextGenerator函数与普通函数区别:1)function关键字与函数名之间有一个*2)函数体内部使用yield表达式,定义不同的内部状态3)Generator函数分段执行:yield表达式是暂停执行,next恢复执行4)同样可以解决回调地狱问题3.async/await1)基于p.
2021-06-13 20:54:38
130
原创 2021-06-13蚂蚁金服面试补充
1.首页布局讲一遍2.设计的网站是如何发布的3.从输入网址开始前端是如何优化的4.es5和es6有哪些常用语法5.水平垂直居中方法,三个以上6.除了promise之外还有哪些异步编程解决方案7.better-scroll滚动区域问题,手动再敲一下8.DFS&&BFS分别用的什么数据结构9.谈人生谈理想谈为什么选择前端...
2021-06-13 15:21:45
479
原创 15.原型链总结
1.定义:对象之间的继承关系知识储备:1)构造函数 :拥有类和实例 与普通函数区别:a:首字母大写;b:通过new关键字调用 2)原型:prototype;共有属性放在原型中 hasOwnPropoty()与in判断是否是自身的属性还是继承而来的属性 原型相当于一个公共的区域,构造函数的所有实例都可以访问的到实例person:拥有__proto__属性,该属性指向构造函数的原型构...
2021-06-09 21:48:44
117
原创 2021-06-09阿里面试补充
1.简历2.项目首页布局:详细3.双向绑定原理:讲清楚4.图片懒加载原理5.vue-router懒加载原理6.原型链总结7.Vue特点:数据驱动与组件化开发8.组件化开发中要注意什么9.VueX实现原理:原生js如何实现10.水平垂直居中复习...
2021-06-09 14:03:40
84
原创 14.变量声明提升与函数声明提升
前端面试中经常被问到的基础问题,但是总是答得不好。1.变量声明提升知识储备:var, let,const的区别:详见红宝书P90定义:var声明会被拿到函数或者全局作用域的顶部,位于作用域中所有代码之前。表现:变量声明之前就可以使用只有var存在函数声明提升现象show me the code:全局:函数内部:2.函数声明提升定义:函数声明会在任何代码执行之前被读取,并添加到执行期上下文中,生成函数定义。表现:函数看起来先执行,后定义的通...
2021-06-08 19:42:37
130
原创 2021-05-27美团面试补充
1.事件委托机制2.css中的单位:em与rem,vm与vw3.weakMap&&weakSet4.浮动与清除浮动5.如何触发BFC6.响应式布局7.map和set去重相对于obj对象去重的优势8.防抖与节流方法与实现9.响应式布局...
2021-06-08 15:10:00
83
原创 2021-06-07网易游戏面试补充
1.css响应式布局2.项目中如何实现上拉加载更多3.Vue-router懒加载原理4.this问题展开5.箭头函数中为什么没有this6.函数声明提升与变量声明提升
2021-06-07 16:16:18
88
原创 3.常用CSS单位
1、px:绝对单位,与DPI有关2、em:相对单位,基准点为父节点字体的大小,如果自身定义了font-size按自身来计算(浏览器默认字体是16px),整个页面内1em不是一个固定的值。3、rem:相对单位,可理解为”root em”, 相对根节点html的字体大小来计算,CSS3新加属性,chrome/firefox/IE9+支持。4、vw:viewpoint width,视窗宽度,1vw等于视窗宽度的1%。5、vh:viewpoint height,视窗高度,1vh等于视窗高度...
2021-06-04 21:24:24
314
原创 2.基于token || session的登陆验证机机制
1.用户认证http是无状态协议,不保存用户状态1)session认证2)token认证2.基于session的用户认证(1)过程1)用户名密码校验:client向serve发送 验证码,accout, password;并且进行验证2)session存储数据:服务器验证通过后,在session(当前对话)中保存相关数据如用户昵称,登陆时间等。3)服务器生成session ID:服务器随机生成唯一的session-id返回给用户,写入用户的cookie中4)用..
2021-06-02 21:40:21
244
原创 1.axios拦截器的使用
1.axiosaxios:网络封装模块,一个基于promise的HTTP库,可以在浏览器和node.js中使用特点和功能:1)本质用来请求数据2)支持浏览器和node3)支持promiseAPI4)拦截请求和响应,并转换请求和响应的数据5)取消请求6)自动转换JSON数据:当响应的content-type为json时候,自动调用json.parse将数据转换为js的对象格式7)浏览器端支持防止CSRF(跨站请求伪造)常用模板:import axios from
2021-06-02 20:48:01
348
原创 2.BFC&&margin合并&&margin塌陷
1.概念: 块级格式化上下文,block formating context*******BFC是一个容器,用于管理内部的块级元素如何布局,与区域外部不相关2.如何触发一个盒子的BFC(1)display: inline-block(2)float: left/right(3)position: absolut/fixed(4)overflow: hidden3.BFC布局规则(1)块级元素独占一行:内部的box在垂直方向上一次排列(2)BFC区域可以看见浮...
2021-06-02 11:14:14
185
原创 11.WeakMap()与WeakSet()
1.知识储备:js垃圾回收机制(GC)(1)自动完成,不能强制执行或者阻止执行(2)当对象使可达状态时候,它一定使存在内存中的(3)被引用与可访问不同:一组相互连接的对象可能整体都是不可达的2.WeakMap()与WeakMap()与map与set的本质不同: 不阻止GC对键对象的回收(1)键必须为对象不能使原始值(2)不支持迭代,不支持keys(),values(),entries()。无法一次获取所有键和值原因:对象丢失引用之后,从技术角度不能准确知道该对象被回收的时间.
2021-06-01 22:32:09
133
原创 6.sort对包含字符串和数字的数组进行排序时
1.arr.sort()(1)按照字符顺序进行排序(2)利用该特性,可以对数字,字符串混合的数组进行排序后去重.2.arr.sort((a, b) => a-b)数字按照大小进行排序,字符串保持原来顺序不变原因:箭头函数返回结果时false,不交换顺序...
2021-06-01 16:57:29
572
原创 5.求二叉树的最近公共祖先的两个非DFS方法
1.先序&&中序(1)根据给出的层次遍历建立二叉树function TreeNode(val){ this.val = val; this.left = null; this.right = null;}function createTreeByLevelOrder(levelOrder){ let queue = [] // queue 里面存储的是新建的树的层序遍历的节点关系 // queue中是两层节点之间的父子关系 if(levelO
2021-06-01 16:11:21
74
原创 4.利用filter和set求两个数组交集的通用方法
const arr1 = [1,2,3]const arr2 = [3,4,5]// 1.filterconst arr = arr1.filter(el => arr2.indexOf(el) !== -1)arr// 2.利用set,遍历选择set.size()最小的,节省时间const set1 = new Set(arr1)const set2 = new Set(arr2)for(let el of set1){ if(set2.has(el)) console.
2021-06-01 15:13:50
231
原创 13.简单总结js事件模型
1.事件模型三阶段(1)捕获阶段:先捕获,后冒泡;捕获阶段不会有任何操作(2)目标阶段:事件响应到触发事件的最底层元素上(事件源元素)(3)冒泡阶段:由内向外触发响应事件委托(代理):利用冒泡机制把内层所需要响应的事件绑定到外层2.事件委托优点(1)减少内存消耗:逐一绑定子元素内存和性能消耗都巨大(2)动态绑定事件:绑定在父级,在目标元素(子元素)的增减上不用去绑定和解绑事件参考1参考2...
2021-06-01 09:21:17
66
原创 2021-05-31setTimeout与promise的区别(浏览器事件循环机制)
1.js是单线程,非阻塞的。2.js事件循环机制(1)执行栈同步代码执行,按照顺序进栈和出栈(2)事件队列1)异步代码执行:挂起——主线程空闲——执行2)宏任务与微任务:解决异步代码的优先级问题 微任务 > 宏任务 微:Promise().then(回调)...
2021-05-31 20:25:18
155
原创 3.构建二叉树
1.根据层次遍历构建二叉树// definition for a binary tree node function TreeNode(val){ this.val = val; this.left = null; this.right = null;}let levelOrder = ['a', 'b', 'c', 'd', null, null, 'e',null , 'f', null, null, null, null]function createTreeByLeve
2021-05-31 15:03:00
90
原创 12.js中trim和eval的用法
1.trim(1)作用: 去除字符串首尾的空白符ps:空白符包括空格,制表符tab,换行等(2)示例与细节trim()方法不会改变原始字符串(3)替代方法reg
2021-05-26 20:09:40
173
1
原创 10.Vue遍历中key的作用
1.Vue遍历中key的作用***作用:更新时决定节点能否被复用***目的:精确高效的更新Vdom***推荐使用id作为key与数组中的元素绑定,不推荐使用index;如果key对应的数据发生了变化,直接更新对应的dom就行,不用全部更新一遍。2.vue官方:生命周期钩子那一块不是很懂。3.Vue遍历中是否一定要增加key属性...
2021-05-24 20:24:03
659
3
原创 9.闭包复习
1.闭包形成条件(1)函数嵌套(2)内部函数被return到外部(3)闭包不能滥用,使用完要进行销毁。将函数指向null参考1)累加器2)模块化2.立即执行函数本质是只执行一次的闭包...
2021-05-24 16:22:05
92
原创 2021-05-24图片懒加载与预加载的区别
图片懒加载原理: 当前图片是否到达可视化区域1.拿到当前图片所有的dom2.遍历每个图片判断当前图片是否到达可视化区域3.如果到达可视化区域设置图片的src属性4.绑定scroll事件,对其进行监听参考1 参考2预加载:页面打开图片之前,图片预先加载到浏览器中,缓存在用户本地;用到的时候直接进行渲染。参考...
2021-05-24 14:39:29
88
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人