91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

JS ES6中setTimeout函數的執行上下文示例

發布時間:2020-09-21 23:36:10 來源:腳本之家 閱讀:319 作者:小小小小小亮 欄目:web開發

本文介紹的是setTimeout函數,延遲執行函數里的執行上下文,分享給大家供大家參考學習,來看看詳細的內容:

(1)ES5中,setTimeout里面的函數的執行上下文為全局上下文,舉例來說:

function log(){
 setTimeout(function(){console.log(this.id)},100)
}
var id=42
log.call({id:21})

//輸出的結果為42

我們可以看到setTimeout,被延遲執行的函數,里面的this,指向的是全局作用域,也就是這個函數的上下文為全局上下文。

(2)在ES6的箭頭函數中,setTimeout里面,如果執行了一個箭頭函數,那么這個函數的執行上下文為定義這個箭頭函數所在的函數。

function log(){
 setTimeout(()=>{
  console.log(this.id)
 },100)
}
var id=42;
log.call({id:21})

//這次輸出的是21

總結:

因為ES6中,箭頭函數的this,規定的指向定義這個箭頭函數所在的那個函數。于是這里箭頭函數里面的this,就固定bind了{id:21}。

好了,以上就是這篇文章的全部內容了,希望本文的內容對大家學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對億速云的支持。

向AI問一下細節
推薦閱讀:
  1. JS的事件環
  2. 前端js總結

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

兖州市| 松溪县| 城市| 乐亭县| 哈密市| 阿拉善右旗| 崇义县| 新绛县| 南宁市| 正阳县| 新丰县| 丘北县| 达州市| 浦县| 延长县| 广汉市| 乌什县| 广灵县| 皋兰县| 江川县| 太原市| 曲麻莱县| 曲周县| 南平市| 剑河县| 兴海县| 佛山市| 万载县| 八宿县| 磐石市| 旌德县| 积石山| 丰原市| 汉寿县| 高清| 郸城县| 汉中市| 西乌珠穆沁旗| 通道| 长子县| 凤阳县|