返回
顶部

修改密码

首页 > 文章 > 要闻 > 正文
es6新增哪些特性

+1

-1

收藏

+1

-1

点赞1

评论0

标题:es6新增哪些特性
详情介绍-作者:xiaowei-来源: 极全网 -如有问题点击:在线客服帮助

1、新增了let const关键字

let var const的区别let 是代码块有效 var是全局有效let 是不能重复声明的 var是可以多次声明let不存在变量的提升 var存在变量的提升const存储简单数据类型存储的是常量

2、新增的解构赋值

解构赋值针对数组或者对象进行模式匹配,然后对其中的变量进行赋值。

let [a,b]=[1,2]
let {user}={user:“xiaosi”}


3、新增了箭头函数

箭头函数和普通函数的区别

普通函数存在着变量的提升,箭头函数没有普通函数的this指向,谁调用指向谁,箭头函数是在哪定义就指向谁普通函数可以当成构造函数,而箭头函数是不可以的箭头函数没有arguments,要接受所有的参数用...rest

4、js的数据类型

简单数据类型

Number 、 String 、 Boolean 、 null 、undefined 、Symbol 

引用数据类型

Object Array Function Date RegExp

5、数据类型判断 (得准确的知道每一种数据类型判断缺点)

typeof 能判断基本的数据类型,返回基本数据类型小写字符串形式 除了null,用typeof判断null 返回Objectinstanceof 可以判断引用数据类型 正常的判断A是B的实例是没有问题的,但是所有引用数据类型的对象用instanceof判断都是Object的实例constructor 构造函数可以判断除了undefined 和null之外的任何数据类型,页解决了instanceof的问题最完美的解决方案 Object.prototype.toString.call()返回的是[ Object 数据类型]

6、es6新增了模块化

根据功能封装模块 通过import导入 然后通过export导出

可以使用 export 导出也可以使用export default导出

我们使用import 来导入

export 和 export defualt的区别

export 可以导出多个属性或者方法 ,需要用{}括起来 在用import接受的时候也得用{}接受export default是以整体的方式抛出,接受的时候只接一个

7、promise

promise是es6处理异步的一种方式,它的本质是一个对象,promise的参数是一个回调,回调有连个参数 resolve 成功回调 reject 失败回调。它有三种状态分别为 初始状态pending 已完成fulfilled 已失败rejected。状态改变只有两种结果 完成或者失败。

promise处理错误的方式有两种 第一种在then中传递两个回调 第二个回调是错误回调

第二种方式是通过catch方式来实现

promise常用的api有 then ()处理回调函数 catch()捕获异常 还有两个常用的静态方法

Promise.all()一块处理多个promise请求,所有的请求都成功才成功。

Promise.race()一块处理多个promise请求,有一个成功就成功

es7中可以使用async实现异步处理,还有一个关键字await可以实现异步函数同步化

8、新增类class关键字

class关键字是es5构造函数+原型模式创建对象的语法糖。创建类的方式 class 类名{构造函数和方法} 通过extends关键字实现继承。

需要录制的面试题:

js的数据类型js的数据类型判断箭头函数与普通函数的区别let const var的区别promise

9、es6新增哪些特性?

es6新增了promise(标题) 需要说什么是promisees6新增了模块化 需要说什么是模块化新增了class关键字 需要解释新增了箭头函数 再说箭头函数与普通函数的区别新增了解构赋值 需要解释什么是解构赋值新增了let const关键字 需要说let const var的区别新增了简单数据类型symbol

10、作用域与作用域链

作用域:就是变量的使用范围。js中作用域分为全局和局部

js的作用域分为全局作用域和局部作用域。在全局作用域中是不能访问局部作用域中的数据。在局部作用域中访问变量如果当前作用域中有可以直接访问,如果没有那么向上级作用域中访问,如果上级作用域也没有就继续向上找,知道找到全局window作用域,如果window作用域也没有返回undefined,整个作用域的访问形成了一个作用域链

11、说一下闭包

概念

闭包是指有权访问另外一个函数作用域中的变量的函数。可以理解为(能够读取另一个函数作用域的变量的函数)

特性

1:函数套函数

2:内部函数可以直接访问外部函数的内部变量或参数

3:变量或参数不会被垃圾回收机制回收

定义

Plain Text
<script> //第一种定义方式 function  outer(){ var num=10; function inner(){ return num+=10 } return inner() } //调用 console.log(outer()) //第二种定义方式 function  out(){ var num=10; return inner=function(){ return num+=10 } } //调用 console.log(out()())</script>


优缺点

优点:

1:变量长期驻扎在内存中

2:避免全局变量的污染

3:私有成员的存在

缺点:

常驻内存 增大内存的使用量 使用不当会造成内存的泄露.

12、原型与原型链

原型:每一个对象都有一个prototype属性可以挂载要扩展的属性和方法,在prototype上挂载的属性和方法在这个对象的任何实例上都可以调用。

当一个对象调用自身不存在的属性/方法时,就会去prototype关联的父类对象上去找,如果找不到继续去父类关联的对象上去找,直到找到Object的属性和方法,找到直到调用,找不到返回undefined

13、对象的浅拷贝与深拷贝

由于引用数据类型的数据是存储在堆空间中,在栈空间中存储的是是数据的引用地址。

对象的浅拷贝就是将栈空间中的地址复制一份,两个地址指向的同一个数据

浅拷贝可以使用Object.assign()来实现 深拷贝可以使用JSON.stringify()先转换为json的串复制,然后再通过JSON.parse()转换回来

14、说一下js的事件机制

js中存在两种事件机制,一个是ie提出的冒泡事件机制 还有一个是网景提出的捕获型事件机制

冒泡事件机制是先触发事件的的直接元素,然后向外扩散就像冒泡一样。捕获型就是事件从外向里执行。js中的事件监听addEventListener的第三个参数默认的为false 是冒泡 为true是捕获

我们可以通过event.stopPropagation()来实现

15、rem布局的原理

1rem的大小就是根元素<html>的font-size的值,通过设置 根元素<html>的font-size的大小,来控制整个html文档内的字体大小、元素宽高、内外边距等

16、如何实现响应式布局

响应式布局可以让网站同时适配不同分辨率和不同的手机端,让客户有更好的体验

响应式布局实现的方案:

百分比布局媒体查询rem布局vw vh布局flex弹性盒布局

17、$route和$router的区别

$route是一个跳转的路由对象,每一个路由都会有一个$route对象,是一个局部的对象,可以获取对应的name,path,params,query等

$router是VueRouter的一个对象,通过Vue.use(VueRouter)和Vue构造函数得到一个router的实例对象,这个对象中是一个全局的对象,他包含了所有的路由,包含了许多关键的对象和属性。

18、params和query传参的区别

params传值的参数是路由的一部分,所以调转必须加参数值才能调转 query传参和路由配置没有关系获取方式是不一样的 query this.$route.query.参数名 params是 this.$route.params.参数名

19、mpa和spa的区别

mpa 多页面应用

一套系统有多个页面组成,页面之间的切换是由a标签的herf属性和script的location.href来实现的

spa是单页面应用

一套系统就由一个页面来承载,数据的切换是由路由来实现

mpa与spa的优缺点:

对于切换来说,路由的切换肯定比页面的切换更顺畅 所以spa的切换会好spa的首屏加载慢,mpa的首屏加载快
版权声明:本文内容由极全网实名注册用户自发贡献,版权归原作者所有,极全网-官网不拥有其著作权,亦不承担相应法律责任。具体规则请查看《极全网用户服务协议》和《极全网知识产权保护指引》。如果您发现极全网中有涉嫌抄袭的内容,点击进入填写侵权投诉表单进行举报,一经查实,极全网将立刻删除涉嫌侵权内容。

扫一扫在手机打开

评论
已有0条评论
0/150
提交
热门评论
猜你喜欢
换一批
相关推荐
换一批
热点排行