
前端再梳理
李刚大人
一个摄影师,一名航拍飞手,一只程序员
展开
-
JS 新语法「可选链」「双问号」已进入 Stage 3
你可能写过这样的代码var street = user.address && user.address.street;有了这个新语法,你可以写成var street = user.address?.street你可能还写过这样的代码var fooInput = myForm.querySelector('input[name=foo]')var fooValue = fooInput ? fooInput.value : undefined有了新语法后,你可以写成var转载 2022-01-04 11:26:04 · 244 阅读 · 0 评论 -
前端资源路径收集
JavaScript百炼成仙原创 2021-11-15 09:44:51 · 706 阅读 · 0 评论 -
google浏览器内存占用过高导致浏览器崩溃
以规划执行页面为例(存在翻页崩溃问题):第一页内存占用:500M点击第2页内存占用:510M点击第3页内存占用:1G点击第4页直接崩溃好了现在我们分析每一页加载的数据:可以看到前三页的数据量都不足0.5M,第四页data5的数据量明显较大,达到4M我们假设浏览器崩溃是由于渲染的数据过大超过了Google浏览器的内存极限,通过查看第4页数据,发现绝大部分都是报错信息,我们现在把page4的报错信息移动一部分到page3看看内存的变化情况通过分析page4数据,一条报错信息是40k作用,原创 2021-11-04 16:21:00 · 5137 阅读 · 1 评论 -
getBoundingClientRect获取某个元素相对于视窗的位置集合
Element.getBoundingClientRect()该Element.getBoundingClientRect()方法返回一个 DOMRect对象,提供有关元素大小及其相对于视口的位置的信息。价值返回值是一个DOMRect对象,它是包含整个元素的最小矩形,包括其填充和边框宽度。的 left,top,right,bottom, x,y,width,和height性质描述在像素整体矩形的位置和大小。width和以外的属性 height相对于视口的左上角。...原创 2021-08-23 15:52:46 · 217 阅读 · 0 评论 -
对象用法之Object.create setPrototypeOf getPrototypeOf
var lg = { name:'lgdaren', sex:'man', age:28, show:function(){ return 'love girl' }};var yinzi = { name:'yinzi', sex:'girl', age:25, show:function(){ ...原创 2020-04-28 13:12:40 · 239 阅读 · 0 评论 -
vue双向数据绑定原理
简述VUE响应原理Vue采用数据劫持结合发布者-订阅者模式的方法,通过Object.defineProperty()来劫持各个属性的setter,getter属性,在数据变动话,通知订阅者,触发更新回调函数,重新渲染视图什么是发布-订阅者模式简单理解:比如一个商店,会员粉丝经常要询问有什么活动,员工每次都要做一遍解答,工作重复又麻烦,但是把所有会员的邮箱收集成名单,有活动时统一发送邮件。会员...原创 2020-04-09 09:58:59 · 224 阅读 · 0 评论 -
宏任务和微任务
首先看下面的一段代码setTimeout(() => { //执行后 回调一个宏事件 console.log('内层宏事件3')}, 0)console.log('外层宏事件1');new Promise((resolve) => { console.log('外层宏事件2'); resolve()}).then(() => { ...原创 2020-03-25 15:37:29 · 178 阅读 · 0 评论