setTimeout中所执行函数中的this,永远指向window
Posted lele
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了setTimeout中所执行函数中的this,永远指向window相关的知识,希望对你有一定的参考价值。
注意是要延迟执行的函数中的this哦!!
//片段一 setTimeout("alert(this)", 1); // [object Window] //片段二 var obj = { say: function() { setTimeout("alert(‘in obj ‘ + this)", 0) } } obj.say(); //片段三 var obj = { say: function() { setTimeout(function(){alert(this)}, 0) } } obj.say(); //片段四 function talk() { alert(this); } var obj = { say: function() { setTimeout(talk, 0) } } obj.say();
以上是关于setTimeout中所执行函数中的this,永远指向window的主要内容,如果未能解决你的问题,请参考以下文章
JavaScript 类中的 setTimeout() 使用“this”