一、this指向的4種方式:
1、如果是一般函數(shù),this指向全局對(duì)象window;
2、在嚴(yán)格模式下"use strict",為undefined.
3、對(duì)象的方法里調(diào)用,this指向調(diào)用該方法的對(duì)象.
4、構(gòu)造函數(shù)里的this,指向創(chuàng)建出來(lái)的實(shí)例.
二. 改變this指向的方式
以下屬于函數(shù)的方法
改變this的指向并且執(zhí)行調(diào)用函數(shù)
.call(), call(thisScope, arg1, arg2, arg3...)
.apply(), apply(thisScope, [arg1, arg2, arg3...]);兩個(gè)參數(shù)
而bind 改變this的指向,返回的是函數(shù)
.bind() bind(thisScope, arg1, arg2, arg3...)
call,可以傳入多個(gè)參數(shù),改變this指向后立刻調(diào)用函數(shù)
apply,可以傳入數(shù)組
bind改變this指向后,返回的是函數(shù)