国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

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

2024-05-06 15:17:56
字體:
來源:轉載
供稿:網友

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

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

function log(){ setTimeout(function(){console.log(this.id)},100)}var id=42log.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}。

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 湘潭市| 德保县| 连云港市| 徐闻县| 绍兴县| 肥东县| 靖远县| 桃园县| 定远县| 南乐县| 海丰县| 新野县| 鄂伦春自治旗| 措美县| 昌宁县| 云和县| 邻水| 徐汇区| 隆林| 平和县| 松滋市| 会东县| 宜兰县| 灵寿县| 江阴市| 龙井市| 武义县| 临汾市| 上林县| 封丘县| 龙州县| 江川县| 大悟县| 柘荣县| 津南区| 普宁市| 平山县| 罗城| 镇巴县| 北碚区| 禄劝|