this(this的4種指向和改變this指向的方式)

  this是Javascript語言的一個關鍵字。

隨着函數使用場合的不一樣,this的值會發生變化。可是有一個總的原則,那就是this指的是,調用函數的那個對象數組

1.this指向的形式4種

a.若是是通常函數,this指向全局對象window;app

b.在嚴格模式下"use strict",爲undefined.函數

c.對象的方法裏調用,this指向調用該方法的對象.this

d.構造函數裏的this,指向建立出來的實例.spa

 

定義一個_this變量來存儲this值,使全局對象裏面的this 指向person 的this對象

this最近的函數是全局對象setTimeoutblog

2. 改變this指向的方式

如下屬於函數的方法ip

改變this的指向而且執行調用函數變量

.call(),  call(thisScope, arg1, arg2, arg3...)構造函數

.apply(), apply(thisScope, [arg1, arg2, arg3...]);兩個參數

而bind 改變this的指向,返回的是函數

.bind()  bind(thisScope, arg1, arg2, arg3...)

call,能夠傳入多個參數,改變this指向後馬上調用函數

apply,能夠傳入數組

 bind改變this指向後,返回的是函數

----------------------------------------------------------------------

原文:https://www.jianshu.com/p/c415530030a9
相關文章
相關標籤/搜索