即使是找到了实习,然而还是没能闲下来啊_(:з」∠)_
浏览器的dom操作合并
刚学js的时候,明白js单线程时间线的模型,知道dom操作是缓慢的,因此明白要做动画最好应该在css中书写,修改dom只修改他的class,在不同的状态间切换,刚开始做一些动画成功了,然而做一个input[type=text]
的错误闪烁框,写了animation,想在两个状态间交换,然而点了却没有反应,无论是用jQ写,还是用原生dom写,在控制台中根本没有变换过,当时很是疑问,最后我异想天开,试了一下setTimeout,把两个状态间的一个放入其中,结果就顺利的展现出想要的效果了。 当时没有仔细想过,后来当看到优化dom操作,减少重流重绘 博文的时候,猛然想起,浏览器对dom树的操作都是有优化的,同一个时间线中操作dom的操作会被合并成一个,到你下一次读取的时候才会产生变化
var domElem; //假设这是dom节点
console.log(domElem.className);
//<- 'c'
domElem.className = 'a';
domElem.className = 'b';
domElem.className = 'a';
/*
实际上浏览器只干了一件事情
domElem.className = 'a';
*/
console.log(domElem.className);
//<- 'a'
domElem.className = 'b';
console.log(domElem.className);
//<-'b'
domElem.className = 'c';
console.log(domElem.className);
//<-'c'
React的学习
工作量不够趁着空闲的时间,学习了React【,感受是React其实是单向版的Vue,但React最重要的是它带给我们的Components的概念,React其他的东西非常小,不依赖组件,什么都没有,可以说是Virtual Dom版的Mustache,正因为其他都很小,他的Components就变成了他想传达给我们的理念~~(大概是这样)~~。看了getting started,手痒痒,写了一个一直很想做的一个东西,感觉用React来写这个真是太合适了
其实我最想对比的是亚马逊直邮和代购之间的价格差,但是亚马逊这个计费规则实在是太奇葩了,而且,真结算的时候貌似并不是他的那个计费规则,所以只好暂时搁置
因为之前有MVVM框架的概念,在学习Vue和React就显得简单了很多,作为在实际使用的人来说,三种框架(Angularjs, React, Vue)我感觉写的最顺手的,最符合顺下来的思路的,还是Vue
利用Performance追踪运营商广告
这几天,智障的上海电信又给我插入了丰富的广告内容,以前插的是什么jd啦,taobao啦,tmall啦,一号店啦,现在他们都上https了,丧心病狂的电信就开始插cnbeta,csdn,s1,卧槽,excuse me,你这样挑衅技术真的好吗? 好吧,你赢了,我承认当我看到和感受到被插了,我打开chrome面板只能看到当前的html的结构,network部分是空空的,只能从html结构里查插入的广告服务器地址。 然而前几天在@EtherDream 微博上看到的这条语句,就可以快速的筛出非本域的加载的资源了。
performance.getEntries().forEach(v=> console.log(v.name));
然而我们狗日的上海电信是tcp劫持给你插包,把正常网页插在iframe中返回,真几把酷炫,希望电信原地爆炸,全家上天,并求大佬给点流量到他们的广告服务器上【。
近期游戏与番
8月买了胧村正,卧槽,这游戏真好玩!三个礼拜本篇白金!现在正在努力DLC全奖杯中~
番的话,最近看了《异邦人 无皇刃谭》,超好看,推荐!