javascript中setTimeout的问题解决方法


Posted in Javascript onMay 08, 2014

看到一个问题,大概是这个样子得。

name = 'out of you' 
foo = function(){ 
this.name = 'xxoo'; 
} 
foo.prototype.say = function(){ 
console.log(this.name); 
} 
f = new foo(); 
f.say(); // 这句会输出xxoo 
setTimeout(f.say, 500); // 这句会输出out of you

这是个坑,javascript的this是在调用的时候产生的,还跟上下文有关。这么解决呢。我测试了一下,用了call。
setTimeout.call(foo(), f.say, 500)

网上的一些解决方法

js中setTimeout的this指向问题

JavaScript中使用Timer

最后其实还是对this得理解问题。

哪天搞得明白点了再继续写

Javascript 相关文章推荐
利用location.hash实现跨域iframe自适应
May 04 Javascript
浅析jQuery的链式调用之each函数
Dec 03 Javascript
JQuery 常用方法和事件详细介绍
Apr 18 Javascript
jqgrid 编辑添加功能详细解析
Nov 08 Javascript
jQuery实现Tab菜单滚动切换的方法
Sep 21 Javascript
基于JS实现新闻列表无缝向上滚动实例代码
Jan 22 Javascript
jQuery插件扩展extend的简单实现原理
Jun 24 Javascript
微信小程序 视图层(xx.xml)和逻辑层(xx.js)详细介绍
Oct 13 Javascript
前端JS面试中常见的算法问题总结
Dec 23 Javascript
Bootstrap滚动监听组件scrollspy.js使用方法详解
Jul 20 Javascript
读懂CommonJS的模块加载
Apr 19 Javascript
使用Vue生成动态表单
Nov 26 Javascript
在JavaScript中使用timer示例
May 08 #Javascript
JavaScript中读取和保存文件实例
May 08 #Javascript
ExtJS中设置下拉列表框不可编辑的方法
May 07 #Javascript
jquery 显示*天*时*分*秒实现时间计时器
May 07 #Javascript
解决jQuery动态获取手机屏幕高和宽的问题
May 07 #Javascript
addEventListener 的用法示例介绍
May 07 #Javascript
jquery通过select列表选择框对表格数据进行过滤示例
May 07 #Javascript
You might like
攻克CakePHP系列三 表单数据增删改
2008/10/22 PHP
php escape URL编码
2008/12/10 PHP
php去除数组中重复数据
2014/11/18 PHP
PHP快速推送微信模板消息
2017/04/14 PHP
Js+Dhtml:WEB程序员简易开发工具包(预先体验版)
2006/11/07 Javascript
jquery1.4 教程二 ajax方法的改进
2010/02/25 Javascript
ASP中Sub和Function的区别说明
2020/08/30 Javascript
javascript中文本框中输入法切换的问题
2013/12/10 Javascript
jquery操作 iframe的方法
2014/12/03 Javascript
js获取当前日期时间及其它操作汇总
2015/04/17 Javascript
浅谈jQuery页面的滚动位置scrollTop、scrollLeft
2015/05/19 Javascript
Bootstrap 粘页脚效果
2016/03/28 Javascript
基于JQuery实现分隔条的功能
2016/06/17 Javascript
详解Vue-基本标签和自定义控件
2017/03/24 Javascript
Angular 4依赖注入学习教程之InjectToken的使用(八)
2017/06/04 Javascript
基于Vue+elementUI实现动态表单的校验功能(根据条件动态切换校验格式)
2019/04/04 Javascript
this.$toast() 了解一下?
2019/04/18 Javascript
jquery实现动态创建form并提交的方法示例
2019/05/27 jQuery
countup.js实现数字动态叠加效果
2019/10/17 Javascript
Vue实现PC端靠边悬浮球的代码
2020/05/09 Javascript
Element Steps步骤条的使用方法
2020/07/26 Javascript
Vue为什么要谨慎使用$attrs与$listeners
2020/08/27 Javascript
[01:14]TI珍贵瞬间系列(六):冠军
2020/08/30 DOTA
Python中使用PDB库调试程序
2015/04/05 Python
python Matplotlib画图之调整字体大小的示例
2017/11/20 Python
Python 通配符删除文件的实例
2018/04/24 Python
Python 实现两个列表里元素对应相乘的方法
2018/11/14 Python
pyqt5 使用cv2 显示图片,摄像头的实例
2019/06/27 Python
opencv3/C++实现视频背景去除建模(BSM)
2019/12/11 Python
Python 安装 virturalenv 虚拟环境的教程详解
2020/02/21 Python
django为Form生成的label标签添加class方式
2020/05/20 Python
纯CSS3实现表单验证效果(非常不错)
2017/01/18 HTML / CSS
幼儿园教师的考核评语
2014/04/18 职场文书
2015年高校图书馆工作总结
2015/04/30 职场文书
三星 3nm 芯片将于第二季度开始量产
2022/04/29 数码科技
Python OpenGL基本配置方式
2022/05/20 Python