js中的一个核心概念就是对this的理解,关于this前面也有说过,不过在有些状况下,仍是须要手动去改变this的指向,这里总结一下,js中关于this操做的三种方法html
这三个方法都是Function中的内置函数,一个函数调用call、apply、bind回去原型链中线上寻找这三个方法,这三个方法都用于改变this的指向问题,虽然他们做用相同,做为三种不一样的方法,他们之间依然有一些差异数组
一、基本应用app
看如下代码函数
默认状态下this指向window对象,当传入的值为空、null或者undefined的时候,this也是指向window对象,其他传入的基本类型值,this均指向传入值自己this
二、在对象继承及传参时的应用3d
一样直接看代码htm
从上面的代码中能够看出,call、apply、bind三者之间的差异对象
call和apply用法基本相同,只是传参的方式不一样而已,call是一个一个的传值,apply则传入一个数组blog
bind方法的传参方式同call相似,可是bind修改了this指向以后并不会立刻起做用,须要调用如下才能够继承