1.浏览器内核有哪些。
浏览器要渲染出给用户看 必须加载html编码和js脚本 渲染引擎渲染页面的UI和js执行引擎操作内存 就是浏览器的重要组成部分:内核 根据不同的浏览厂商 他们使用了不同的内核 内核的程序是很难实现的 根据我的了解有一些内核是公司自己实现的 有一些是直接用 比如:
1.IE浏览器内核:Trident内核(IE内核)
2.Chrome浏览器内核:Chrome内核,以前是Webkit内核 现在是Blink内核
3.Firefox浏览器内核:Gecko内核(Firefox内核)
4.Safari浏览器内核:Webkit内核
5.Opera浏览器内核:最初是自己的Presto内核,后来是Webkit内核,现在是Blink内核
6.国内浏览器内核:360(使用IE和Chrome双内核) 2345(IE) 夸克(Chrome)
2.ES5和ES6的区别(ES要一起大写)
1)let声明变量和const声明常量,两个都有块级作用域ES5中是没有块级作用域的,并且var有变量提升,在let中,使用的变量一定要进行声明
2)箭头函数ES6中的函数定义不再使用关键字function(),而是利用了()=>来进行定义,明确了this。传统JS的this是在运行的时候确定的,而不是在定义的时候确定的;而箭头函数的this是在定义时就确定的,不能被改变,也不能被call,apply,bind这些方法修改
3)模板字符串模板字符串是增强版的字符串,用反引号(`)标识,可以当作普通字符串使用,也可以用来定义多行字符串
4)解构赋值ES6 允许按照一定模式,从数组和对象中提取值,对变量进行赋值
5)... 展开运算符可以将数组或对象里面的值展开;还可以将多个值收集为一个变量
3.ES语法提案的流程
任何人都可以向标准委员会(又称 TC39 委员会)提案,要求修改语言标准。
一种新的语法从提案到变成正式标准,需要经历五个阶段。每个阶段的变动都需要由 TC39 委员会批准。
- Stage 0 - Strawman(展示阶段)
- Stage 1 - Proposal(征求意见阶段)
- Stage 2 - Draft(草案阶段)
- Stage 3 - Candidate(候选人阶段)
- Stage 4 - Finished(定案阶段)
一个提案只要能进入 Stage 2,就差不多肯定会包括在以后的正式标准里面。ECMAScript 当前的所有提案,可以在 TC39 的官方网站GitHub.com/tc39/ecma262查看。
4. 箭头函数的特点/什么是箭头函数
- 要有个箭头
- 箭头的前面是小括号,放形参,只有一个形参的时候可以省略小括号;
- 箭头的后面是函数体;
- 如果函数体只有一个语句,没有{},此时的返回值不需要return;
- 箭头函数里面的this总是指向最靠近的function 内部的this;
- 对象里面的方法,尽可能不要使用箭头函数;
- 箭头函数里面没有arguments,可以使用…reset,接收过来就是数组类型,接收的是形参之外的所有的实参;