ES6简介面试题

对浏览器的内核的了解?有哪些内核?(重点)

浏览器是要渲染出网页给用户看,必须加载html编码和js脚本,渲染引擎渲染页面的UI和js执行引擎操作内存,就是浏览器的的重要组成程序:内核
根据不同的浏览厂商 他们使用了不同的内核,内核的程序是很难实现的,根据我的了解有一些内核是公司自己实现的有一些是直接借用的,比如:
  1. IE浏览器内核:Trident内核,也是俗称的IE内核; 
  2. Chrome浏览器内核:统称为Chromium内核或Chrome内核,以前是Webkit内核,现在是Blink内核; 
  3. Firefox浏览器内核:Gecko内核,俗称Firefox内核;
  4. Safari浏览器内核:Webkit内核; 
  5. Opera浏览器内核:最初是自己的Presto内核,后来是Webkit,现在是Blink内核;
  6. 360浏览器内核:IE和Chrome 双内核模式,两种内核可以随意切换,在遇到无法使用极速模式时,可以手动切换到兼容模式;
  7. 2345浏览器内核:之前是IE内核,现在是IE+Chrome双内核模式
  8. QQ浏览器内核:chromium70内核

ES5和ES6有什么区别?(重点有时15分有时6分)

  1. 定义变量:在ES5中,只能使用var关键字定义变量。在ES6中,有两种定义letconst变量的新方法。
  2. 数据类型:ES5支持原始数据类型,包括字符串,数字,布尔值,空值和未定义(undefined)。在ES6中,对JavaScript数据类型进行了一些补充。 它引入了一种新的原始数据类型symbol以支持唯一值。
  3. 箭头函数:在ES5中,functionreturn关键字均用于定义函数。箭头功能是ES6中引入的新功能,通过它不需要function关键字来定义函数。
  4. 循环:在ES5中,使用了for循环来遍历元素。ES6引入了for?of循环的概念,以对可迭代对象的值执行迭代。
  5. 优化:
  • 关于取值
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的优化(一)

全部评论

相关推荐

昨天 12:50
黑龙江大学 Java
点赞 评论 收藏
分享
评论
2
17
分享

创作者周榜

更多
牛客网
牛客企业服务