日常记录(1)

1.关于遍历
 
观察根节点的位置,可以判断是哪一种遍历
 
2. Promise对象只有三种结果:Pending(进行中)、Fulfilled(已成功)、Rejected(已失败)。对象的状态变化只有两种:从Pending —— Fulfilled(Resolved);从Pending —— Rejected。
构造函数Promise接受一个函数作为参数,并且该函数有两个参数resolve 和 reject。resolve是异步操作成功时调用,reject是异步操作失败时调用。Promise实例对象的then方法中的两个函数分别指定Resolved状态(成功)和Rejected状态(失败)的回调函数。3.
 
3.valueOf()与toString()的区别。在不重写这两个方法时:toString()方法:返回对象的字符串表示valueOf()方法:返回指定对象的原始值。默认情况,会调用toString()方法。
 
4.输入url按下回车之后,浏览器会去浏览器缓存中寻找该url的ip;没有的话去系统缓存中找,还是没有的话去路由器缓存中寻找;再没有就去系统host文件中找,还是没有最后只能去请求dns服务器,然后dns给一个ip给浏览器;浏览器根据这个ip地址,将请求信息,请求说明和请求参数等封成一个tcp包,由传输层,到网络层,到数据链路层到物理层,传送给服务器,服务器解析这个tcp包将对应的页面文件返回。浏览器根据html文件生成dom树,根据css文件生成cssom树,然后合并这两棵树生成渲染树,然后渲染页面并且展示。要注意的是,当浏览器解析html文件时候如果遇到了内联或者外联的js代码,会暂停dom树的生成,等js代码执行完成之后,才能继续生成树并渲染。
        其中在页面渲染以及网络请求响应的性能优化方面,我们可以做的优化工作有:1.js代码写在页面渲染完成之后避免阻塞渲染    2.cdn并发,资源压缩,减少请求次数    3.预加载或者懒加载 
posted @ 2019-12-05 13:17  走在路上的张先森  阅读(198)  评论(0编辑  收藏  举报