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 相关文章推荐
为jQuery.Treeview添加右键菜单的实现代码
Oct 22 Javascript
选择器中含有空格在使用示例及注意事项
Jul 31 Javascript
教你如何在 Javascript 文件里使用 .Net MVC Razor 语法
Jul 23 Javascript
jQuery自定义添加"$"与解决"$"冲突的方法
Jan 19 Javascript
聊一聊Vue.js过渡效果
Sep 07 Javascript
codeMirror插件使用讲解
Jan 16 Javascript
浅谈angular4.0中路由传递参数、获取参数最nice的写法
Mar 12 Javascript
解决JS表单验证只有第一个IF起作用的问题
Dec 04 Javascript
详解CommonJS和ES6模块循环加载处理的区别
Dec 26 Javascript
使用element-ui table expand展开行实现手风琴效果
Mar 15 Javascript
layui的layedit富文本赋值方法
Sep 18 Javascript
深入理解javascript prototype的相关知识
Sep 19 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
php+dojo 的数据库保存拖动布局的一个方法dojo 这里下载
2007/03/07 PHP
PHP 强制性文件下载功能的函数代码(任意文件格式)
2010/05/26 PHP
php中filter函数验证、过滤用户输入的数据
2014/01/13 PHP
根据分辩率调用不同的CSS.
2007/01/08 Javascript
DIV菜单层实现代码
2010/11/19 Javascript
javascript学习笔记(十二) RegExp类型介绍
2012/06/20 Javascript
JavaScript中逗号运算符介绍及使用示例
2015/03/13 Javascript
AngularJS基础 ng-hide 指令用法及示例代码
2016/08/01 Javascript
JavaScript函数基础详解
2017/02/03 Javascript
微信小程序中的swiper组件详解
2017/04/14 Javascript
vue-cli脚手架搭建的项目去除eslint验证的方法
2018/09/29 Javascript
layui实现数据表格table分页功能(ajax异步)
2019/07/27 Javascript
vue input标签通用指令校验的实现
2019/11/05 Javascript
微信内置开发 iOS修改键盘换行为搜索的解决方案
2019/11/06 Javascript
node.js实现http服务器与浏览器之间的内容缓存操作示例
2020/02/11 Javascript
[01:13]DOTA2群星解读国服召集令 一起说出回归的理由
2013/07/17 DOTA
Python中返回字典键的值的values()方法使用
2015/05/22 Python
Python实现Linux命令xxd -i功能
2016/03/06 Python
Python基于贪心算法解决背包问题示例
2017/11/27 Python
对python中的logger模块全面讲解
2018/04/28 Python
python使用tornado实现登录和登出
2018/07/28 Python
python 读取Linux服务器上的文件方法
2018/12/27 Python
Python OpenCV读取显示视频的方法示例
2020/02/20 Python
Python对称的二叉树多种思路实现方法
2020/02/28 Python
Python基于opencv的简单图像轮廓形状识别(全网最简单最少代码)
2021/01/28 Python
python热力图实现简单方法
2021/01/29 Python
英国剑桥包中文官网:The Cambridge Satchel Company中国
2018/11/06 全球购物
美国第二大连锁药店:Rite Aid
2019/04/03 全球购物
构造器Constructor是否可被override?
2013/08/06 面试题
物理系毕业生自荐信
2013/11/01 职场文书
新郎婚宴答谢词
2014/01/19 职场文书
2014年小学语文工作总结
2014/12/20 职场文书
2015年世界粮食日演讲稿
2015/03/20 职场文书
如何用JavaScript学习算法复杂度
2021/04/30 Javascript
WCG2010 星际争霸决赛 Flash vs Goojila 1 星际经典比赛回顾
2022/04/01 星际争霸
Python使用永中文档转换服务
2022/05/06 Python