setTimeout非同步執行函式this丟失

2021-09-21 06:43:47 字數 384 閱讀 7524

var prop = 100;

function parent()

parent.prototype.get = function() ;

parent.prototype.show = function() ;

var child = new parent();

child.show(); // ?

2.使用es6中的箭頭函式,因為在箭頭函式中this是固定的。

// 箭頭函式可以讓settimeout裡面的this,繫結定義時所在的作用域,而不是指向執行時所在的作用域。

// 參考:箭頭函式

window.settimeout(() => this.declare(), 2000);

setTimeout和Promise執行順序

script 主程式 process.nexttick promise settimeout i 主體部分 定義promise的構造部分是同步的,因此先輸出2 主體部分再輸出6 同步情況下,就是嚴格按照定義的先後順序 ii process.nexttick 輸出5 iii promise 這裡的pr...

setTimeout 延遲執行事件無法執行

今天在看紅寶書的時候突然看到settimeout 部分,想起來之前做東西時候遇到的乙個問題!當時為了單擊和雙擊不衝突,所以給mousedown加了settimeout延遲執行。後面又要區分滑鼠移動和沒移動又加了乙個settimeout,就遇到問題了。程式會先執行mousedown中的延遲,mouse...

setTimeout在普通任務後面執行

實驗證明,settimeout任務永遠在普通任務後面執行,當執行乙個較為久的任務時可以將其放入到settimeout 中,讓其延後執行function a 0 sleep 5000 alert 普通任務 a function sleep ms 下面更加助於理解的乙個例子 function a 100...