复制代码 代码如下:
function foo()
{
}
setInterval( "foo()", 1000 );
如果使用OO的技术,可以这样,
复制代码 代码如下:
// constructor
function MyObj
{
function foo()
{
alert( this.data );
}
this.timer = foo;
this.data = "Hello";
setInterval( "this.timer()", 1000 );
}
function Another()
{
// create timer when create object
var obj = new MyObj();
}
但是,它并不能像你想像的那样工作。原因在于setInterval()这个函数并不能识别this这个变量。一个workaround 的方法可以这样。
复制代码 代码如下:
function Another()
{
var obj = nw MyObj();
setInterval( “obj.timer()”, 1000 );
}
显然,它可以正确工作,但如果你是一个完美主义者,你就不会对它满意。幸运的是,可以将这个动作放到构造函数中去,形式上有点变化。
复制代码 代码如下:
// constructor
function MyObj
{
function foo()
{
alert( this.data );
}
this.timer = foo;
this.data = "Hello";
var self = this;
setInterval( function() { self.timer(); }, 1000 );
}
function Another()
{
var obj = new MyObj();
}
OK, 通过使用一个闭包,就可以了。至于其中的原因,我想给读者自己去思考。
最后,给一个各种测试case的例子。
复制代码 代码如下:
<html>
<head>
<title>
Hello Timer
</title>
<script language = "JScript">
/*
* There are 3 classes.
*
* 1. timer can run and result is ok
* 2. timer can run and result is wrong
* 3. timer can not run
*
*/
function Obj()
{
function foo()
{
alert( this.timer );
}
this.timer = foo;
//
var me = this;
var f = function() { me.timer(); };
var f2 = function() { this.timer(); };
// 1st class
//setInterval( f, 1000 );
// 3rd class
//setInterval( f2, 1000 );
// 2nd class
//setInterval( me.timer, 1000 );
//setInterval( this.timer, 1000 );
//setInterval( foo, 1000 );
// 3rd class
//setInterval( "this.timer()", 1000 );
//setInterval( "me.timer()", 1000 );
//setInterval( "foo()", 1000 );
}
var o = null;
function OnClick()
{
o = new Obj();
// 1st class
//setInterval( "o.timer()", 1000 );
setInterval( function() { o.timer(); }, 1000 );
// 2nd class
//setInterval( o.timer, 1000 );
}
</script>
</head>
<body>
<input type = "button" onclick = "OnClick()" value = "Click me"></input>
</body>
</html>
相关推荐:
人工润色:让文字更具魅力的秘密武器,快排seo软件哪个最好
SEO售产-数字营销新战场,助力企业实现盈利增长,去哪找自贡网站建设
了解SEO:让你的网站在搜索引擎中脱颖而出的秘密武器,宝山区常见网站优化
为什么seo吸引人,为什么seo吸引人呢 ,ai路径查找器绘制树
seo站内链接有什么作用,seo中网站内链的作用 ,781900ai
SEO查:如何用精准的SEO诊断助力网站流量爆发,美团关键词排名怎么补
ChatGPT全球宕机:人工智能的崩塌与未来的挑战,中国ai和美国ai教父
为什么新手做seo好做,为什么要懂seo ,ai少女 3060显卡
SEO小白必看!从零起步SEO的秘诀,轻松提升网站排名,南京网站运营优化平台
GPT版本全解:从基础到高级,如何选择最适合你的方案?,韩国ai人工智能
代哥SEO-让您的网站迅速登顶搜索引擎的秘密武器,济南关键词的排名优化
SEO化学物质:如何在化工行业提升搜索引擎排名和品牌曝光,rack ai
360关键:打造全方位安全保护,守护您的数字世界,ai乘bi
“曝光量扩大,助力品牌腾飞的秘密武器”,盐山网站优化免费咨询
SEO快速提升SEO排名的有效策略:让你的网页飞跃搜索引擎,ai调色食物
AI免费生成:开启智能创作新纪元,助力你的创意无限可能
SEO作用:提升网站流量与品牌曝光的秘密武器,美容网站联盟平台推广
SEO桔子:提升网站排名的必备法宝,seo外包销售
SEO表格:优化网站排名的秘密武器,大数据推广营销费用多少
OpenAI账号申诉怎么办?全方位解析解决方案,ai写作免费公众号下载
SEO优化工具优势:提升网站排名,带来流量和转化的秘密武器,ai圆形造字
ChatGPT一经发布,便受到了用户的狂热追捧,引爆人工智能热潮,十代ai达人办公本
chatai写作免费一键生成,轻松解决写作难题!,陈逗逗ai换脸在线看
ChatGPT破解版电脑:如何获得更强大的AI助手,提升工作与学习效率,ai预设动画
SEO有意:如何通过优化策略提升网站排名与流量,天津政府智慧网站建设
在线AI文章生成:内容创作新革命
SEO流程全解析:如何提升网站流量与排名,账号如何营销推广
ChatGPT打不开了吗?如何快速解决常见问题,恢复顺畅体验!,ai13212511845
SEO做网站点击:提升网站流量的关键策略,国内ai写作论文
SEO查看-如何通过精确分析提升网站流量与排名,东丽网站建设价格
AI网页版本:开启智能时代的新篇章,拼音标调ai
SEO排位:如何通过精准策略提升网站排名,获得流量与转化,林海网络推广营销
AI文章精简-高效提炼与优化你的内容创作,ai quid
SEO妍:搜索引擎优化的艺术,轻松打造网络营销新未来,辽宁网站建设贵不贵
撰写稿子的AI,写作的“超级助手”来了!
京东业绩再创新高:未来电商巨头的成功之道,如何做seo优化留痕
AI提供的阅读书目对学生的专业知识有多大帮助,沃奇ai
SEO优化顾问:让您的网站脱颖而出的秘密武器,ai ps 群
ChatGPT最新版本更新内容:智能对话体验再升级,更多功能与应用,ai证伪
ChatGPT不能加载过去的对话,如何提升你的使用体验?,ai智能衣服
文章AI生成软件高效创作新纪元
SEO赚钱:如何通过SEO技能在网络上实现财富自由,网站怎么建设推广平台
seo运营经理是什么,seo和运营的区别 ,皖妍ai宁慕晴o
2024年AI写文章生成器推荐:让创作轻松高效,提升写作水平
什么是SEO可以自学吗,seo零基础可以自学吗 ,ai1紫
AI会生成同一篇文章吗?揭开智能创作的神秘面纱
SEO优化是做什么的?让你的网站流量飙升的秘密武器,乳腺癌ai作用机理
AI免费生成文章让创作变得轻松自如
ChatGPT付款银行卡被拒绝?解决方案全解析!,小发猫ai智能写作查重能过吗
软件AI的全称:人工智能驱动未来的关键力量