一、类

概述:在ES5中提出类概念【构造函数】,但是ES6中提出类的新的语法;需要使用关键字class进行定义;

1.1ES5中类

1.2ES6中类

概述:ES6规范当中可以使用class关键字定义类;

1.3ES5中继承

概述:很多面向对象语言【JS:基于面向对象一门语言】,都有三大特征:继承、封装、多态

在JS当中多个类之间可以完成继承功能:让某一个类继承另外一个类属性、方法

继承实现原理:子类的 原型对象 指向 父类的一个实例,可以实现继承;

//JS当中继承:多类之间实现的

1.4ES6中继承

二、箭头函数

概述:在ES5中声明函数我们需要使用关键字function声明函数【关键字 + 表达式】

但是在ES6中提出所谓箭头函数;

2.1箭头函数基本使用

概述:以后关键字const经常集合箭头函数一起使用;

箭头函数如果有返回值且 一行代码 可以省略return关键字  函数体;

箭头函数如果有一个形参 而且有返回值 可以省略return关键字、函数体、省略函数小括号;

箭头函数如果 返回值为JSON【狭义对象】 需要给对象外层加上一个小括号变为表达式返回;

箭头函数不允许用关键字new执行【因为ES6中类使用class定义,不是箭头函数了】

2.2箭头函数练习

闭包:闭包是函数一种特性,可以记住作用域发生变化的函数【我们称之为闭包】

由于sum函数可以记住全局作用域当中a数值变化【sum函数就是一个闭包】

2.3函数默认参数

2.4箭头函数上下文

2.4.1ES5中函数上下文判断

概述:以前函数上下文判断:前提函数是怎么样执行的?

注意:ES6中箭头函数的上下文判断:下面规律都是不行;

函数名加上小括号调用【函数上下文是window】

函数作为事件处理函数执行【函数上下文是触发这个事件元素】

函数最为对象方法谁 最后 打点【函数的上下文就是这个对象】

函数作为数组元素枚举出来执行【函数上下文是当前这个数组】

定时器、延迟器回调【函数的上下文是window】

2.4.2箭头函数上下文判断

概述:以前学习规律统统不适用于箭头;

2.4.3bind绑死上下文

概述:每一个函数对象其实都拥有一个bind内置方法使用;它的作用是可以给关键字声明函数‘绑死上下文’;

注意:bind对于箭头函数没有意义;

①bind是函数对象内置方法:可以给函数的上下文‘绑死’

②函数对象调用bind方法【当前函数不会执行】,只是给函数绑死上下文而已

③bind和apply||call区别

bind:函数不会执行  ||  它可以绑死上下文

apply|call:函数会立即执行一次  || 可以多次篡改上下文


技术全能渣男
40 声望1 粉丝