this 的指向,始終堅持一個原理:this 永遠指向最后調用它的那個對象
改變 this 的指向我總結有以下幾種方法:
> 使用 ES6 的箭頭函數
> 在函數內部使用 _this = this
> 使用 apply、call、bind
> new 實例化一個對象
全局作用域下的this指向window
如果給元素的事件行為綁定函數,那么函數中的this指向當前被綁定的那個元素
函數中的this,要看函數執行前有沒有 . , 有 . 的話,點前面是誰,this就指向誰,如果沒有點,指向window
自執行函數中的this永遠指向window
定時器中函數的this指向window
構造函數中的this指向當前的實例
call、apply、bind可以改變函數的this指向
箭頭函數中沒有this,如果輸出this,就會輸出箭頭函數定義時所在的作用域中的this
- 介紹
- 原生JS
- 1.ES6的新特性
- 2.JS的數據類型
- 3.定義函數的方法
- 4.JS作用域的理解
- 5.閉包的理解
- 6.數組去重
- 7.原型及原型鏈
- 8.Object.create的作用
- 9.new的執行過程是怎么回事
- 10.call,apply,bind三者的區別
- 11.實現類的繼承
- 12.談談你對this指向的理解
- 13.DOM
- 14.JS的異步編程
- 15.正則
- http&ajax
- 1.TCP/IP的三次握手和四次揮手
- 2.http常用狀態碼(http-status-code):
- 3.從瀏覽器輸入URL按回車到頁面顯示都發生了什么?
- 4.HTTPS和HTTP的區別
- 5.瀏覽器緩存?
- 6.ajax四步
- 7.一般我們再攔截器中都會寫什么代碼?
- 8.get請求和post請求有什么區別?什么時候使用post?
- 9.Cookie 和 Session 的區別?
- 10.Token 相關
- 11.什么是同源策略?