箭头函数与普通函数的区别、浏览器解析html的过程
箭头函数与普通函数
1.书写方式不同,箭头函数使用箭头定义,普通函数使用关键字
2.this指向不同:
箭头:
2.11箭头函数本身没有prototype,所以没有自己的this,
2.21它的this只能继承在定义时的来自上一级普通函数的this,与使用位置无关
2.31它的this在定义时就已固定,无法使用call、apply、bind方法直接修改,但是可以修改继承时的上一级普通函数的this来修改
2.41箭头函数外部如果没有普通函数,则它的this在严格和非严格模式下都会指向全局对象window
普通:
2.12普通函数拥有prototype,它的this指向的是调用它的对象,与定义时的位置无关。
2.22普通函数的this可以通过call、apply、bind方法修改
2.23非严格模式下this指向全局对象,严格模式下指向undefined
3.构造函数及arguments参数上不同:
箭头函数无法用于构造函数,无法使用new创建实例化对象,且无法使用arguments参数,但是普通函数可以,取而代之使用rest参数
4.arguments参数和剩余参数...args的区别:
1.剩余参数...args时ES6新增的属性,它是一个数组对象,可使用数组的全部方法;arguments参数是类数组对象,有自己的长度,可以通过中括号获取内部元素,但是不能使用数组的方法。
2.剩余参数...args它是不包含形参的所有实参,arguments参数是包含函数的所有实参的,且只能在函数内部调用。
浏览器解析html的过程
1.用户在地址栏输入url,进行DNS域名解析,查找对应域名的ip
2.获取ip地址后发送http请求,此处涉及到tcp的三次握手四次挥手
3.服务器返回相应结果
4.解析服务器返回的html代码
5.浏览器渲染引擎从上往下执行代码,生成DOM树、CSSOM树合并为渲染树,同时请求涉及到的其他资源,此处会发生回流与重绘。
6.渲染树生成后,进行计算图层布局,即计算所有元素的大小及位置
7.将计算出的图层布局转换为像素
8.整合所有的图层,获得最终的页面。

浙公网安备 33010602011771号