js中this,箭頭函數和普通函數


四種基本用法

1. 一般方法中,this代指全局對象 window

2. 作為對象方法調用,this代指當前對象

3. 作為構造函數調用,this 指代new 出的對象

function test(){
  this.x = 1;
}
var o = new test();
alert(o.x); //1

4. 調用方法的apply和call方法,可以改變函數的調用對象/作用域 (this)用法:

  f.apply([thisObj [,argArray] ]);

  f.call([thisObject[,arg1 [,arg2 [,...,argn]]]]);

當省略 thisObj 或為 null 時,全局對象window作為調用對象/作用域 (this)

 

es6 箭頭函數  ,普通函數

廖雪峰 箭頭函數

箭頭函數的this總是指向詞法作用域,也就是外層調用者obj

由於this在箭頭函數中已經按照詞法作用域綁定了,所以,用call()或者apply()調用箭頭函數時,無法對this進行綁定,即傳入的第一個參數被忽略

深入理解javascript作用域系列第二篇——詞法作用域和動態作用域

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM