一、箭头函数
ES6推出的新方式:
箭头函数 =>
var 变量名 = ( )=>{
执行语句;
}
变量名();
1.基本箭头函数
2.箭头函数只有一条语句的时候,可以简写,省略大括号
3.箭头函数的参数只有一个,那么可以省略小括号
4.占位符号的箭头函数
箭头函数没有参数,通常要保留小括号,如果非要省略,需要写一个下划线 _ 占一个位置
二、this
this随处可在
函数内部的另一个对象,this相当于在调用时的作用域
this在不同环境下,不同作用下,表现的也不同
谁调用函数,this就指向谁
1.this的指向
(1)全局作用下,this指向的是window
(2)函数独立调用时,函数内部的this也指向window
(3)被嵌套的函数独立调用时,this默认指向了window
(4)IIFF自执行函数中内部的this也是指向window
(5)构造函数中的this,用于给类定义成员(属性和方法)
(6)箭头函数指向
箭头函数中没有this指向,如果在箭头函数中有,则会向上一层函数中查找this,直到window
加()是结果,不加()是方法
// 对象的{}没有作用域,函数有
// this只能找函数的作业域,向上找,找全局
2.改变this指向
(1) call
call( )方法的第一个参数必须是指定的对象,方法的原参数,挨个放在后面
格式:
函数名.call( );
第一个参数:传入该函数this执行的对象,传入什么强制指向什么
第二个参数开始:将原函数的参数往后顺延一位
(2)apply
apply()方法的第一个参数是指定的对象,方法原有参数,统一放在第二个数组参数中
格式:
函数名.apply( );
第一个参数:传入该函数this执行的对象,传入什么强制指向什么
第二个参数开始:数组,把放原有的参数放在一个数组中,用【】框起来
(3) bind
bind用法和call()一样,直接运行方法,bind返回新的方法,然后重新调用