當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
你不知道的JS(this)---#
生活随笔
收集整理的這篇文章主要介紹了
你不知道的JS(this)---#
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
默認綁定
------------
隱式綁定
------------
顯式綁定
(apply,call)
硬綁定解決綁定丟失問題(bind)
------------
new綁定
new調用函數時(構造函數調用時)發生步驟
1.創造一個全新的對象
2.這個新對象會被執行[[Prototype]]連接
3.這個新對象會綁定到函數調用的this
4.如果函數沒有返回其他對象,自動返回這個新對象
new會改變硬綁定函數的this,使用new硬綁定函數主要是為了預先設置函數的一些參數
------------
判斷this
1.是否在new中調用,this=>新創建的對象
2.時候通過apply,call或者硬綁定,this=>指定對象
3.時候有某個上下文對象中調用obj.foo(),this=>obj
4.this=>window(underfined)
?
================
以null,underfunded傳入call。。會在調用時候被忽略,會把this默認綁定到全局對象
更安全的做法是使用Object.create(null)
==================
箭頭函數的綁定無法被修改
轉載于:https://www.cnblogs.com/lemonib/p/10079804.html
總結
以上是生活随笔為你收集整理的你不知道的JS(this)---#的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: sonarqube扫描安卓代码
- 下一篇: 【数据结构 JavaScript版】-