ES6简介面试题
对浏览器的内核的了解?有哪些内核?(重点)
浏览器是要渲染出网页给用户看,必须加载html编码和js脚本,渲染引擎渲染页面的UI和js执行引擎操作内存,就是浏览器的的重要组成程序:内核
根据不同的浏览厂商 他们使用了不同的内核,内核的程序是很难实现的,根据我的了解有一些内核是公司自己实现的有一些是直接借用的,比如:
- IE浏览器内核:Trident内核,也是俗称的IE内核;
- Chrome浏览器内核:统称为Chromium内核或Chrome内核,以前是Webkit内核,现在是Blink内核;
- Firefox浏览器内核:Gecko内核,俗称Firefox内核;
- Safari浏览器内核:Webkit内核;
- Opera浏览器内核:最初是自己的Presto内核,后来是Webkit,现在是Blink内核;
- 360浏览器内核:IE和Chrome 双内核模式,两种内核可以随意切换,在遇到无法使用极速模式时,可以手动切换到兼容模式;
- 2345浏览器内核:之前是IE内核,现在是IE+Chrome双内核模式
- QQ浏览器内核:chromium70内核
ES5和ES6有什么区别?(重点有时15分有时6分)
- 定义变量:在ES5中,只能使用var关键字定义变量。在ES6中,有两种定义let和const变量的新方法。
- 数据类型:ES5支持原始数据类型,包括字符串,数字,布尔值,空值和未定义(undefined)。在ES6中,对JavaScript数据类型进行了一些补充。 它引入了一种新的原始数据类型symbol以支持唯一值。
- 箭头函数:在ES5中,function和return关键字均用于定义函数。箭头功能是ES6中引入的新功能,通过它不需要function关键字来定义函数。
- 循环:在ES5中,使用了for循环来遍历元素。ES6引入了for?of循环的概念,以对可迭代对象的值执行迭代。
- 优化:
- 关于取值
const obj = {a:1,b:2,c:3,d:4,} //取值 const a = obj.a; const b = obj.b; const c = obj.c; const d = obj.d; const e = obj.a+obj.b; //ES6写法 const {a,b,c,d} = obj; const e = a+b;
- 关于合并
const a = [1,2]; const b = [3,4]; const obj1 = {a : 1}; const obj2 = {b : 2}; //ES5写法 const obj = Object.assign({},obj1,obj2); //{a:1,b:2} const c = a.concat(b); //[1,2,3,4] //ES6写法 const c = [...new Set([..a,..b])]; //[1,2,3,4] const obj = {...obj1,...obj2}; //{a:1,b:2}
- 关于拼接字符串
//ES5的写法 const name = 'Jack'; let result = ''; result = `${name}喜欢打篮球`; //ES6的写法 const name = 'Lily'; const result = `${name}喜欢打篮球`;
- 等等
讲一讲ES6的版本怎么更新的?(问的少)
每年-发布
- Stage 0 - Strawman(展示阶段)
- Stage 1 - Proposal(征求意见阶段)
- Stage 2 - Draft(草案阶段)
- Stage 3 - Candidate(候选人阶段)
- Stage 4 - Finished(定案阶段)
文章内容主要摘自博客园_马温柔_ES5和ES6的区别以及ES6常用特性和CSDN_Hannaaa_ES6相对于ES5的优化(一)