更新时间:2022-10-15 09:10:44
因为this的指向发生了变化,setTimeout(fn,delay) { fn(); } 实际上fn是一个参数传递的引用(fn=obj.cool),在fn=obj.cool这里,this的指向从obj变成了全局,(fn的调用者是window对象,所以this指向了window。
setTimeout(fn,delay) { fn(); }
你可以看下我之前写的一篇博客里面具体提到了this的这种传参丢失:js中的this总结
javascript - setTimeout里的this指向什么?
javascript - for循环中setTimeout的问题
javascript - js setTimeout里this的问题
javascript - 有关setTimeout的问题
javascript - setTimeout()和setInterval()的问题
javascript中iframe里面的页面调用父窗口js函数的方法。
Angular platform-server.js 里动态创建 JavaScript 标签页的场景
[JavaScript]在VS里支持js源代码简单折叠
Javascript前端开发:阿里JS面试题让你深入了解原型与继承