• 手机版

    扫码体验手机版

  • 微信公众号

    扫码关注公众号

国内首家协议开发

软芯音视解码保护平台

在线
客服

发布
需求

在线
聊天

天盟
APP

天盟APP下载

关注
微信

微信扫一扫访问
顶部

setTimeout用法

这两个写法什么区别,为什么写成第二种的时候不起作用

1、var CountZeros=setTimeout(function() {
       CountZero()
       },1000)

2、 var CountZeros=setTimeout("CountZero()",1000);

免责声明:本内容仅代表回答会员见解不代表天盟观点,请谨慎对待。

版权声明:作者保留权利,不代表天盟立场。

使用道具 举报

全部参与1

第一种写法是声明匿名函数,相当于假如我给函数赋个名字abc,然后setTimeout(abc,1000),只是你那种写法是匿名的
第二种写法是字符串写法,相当于内部执行了eval(),这种写法你会发现有时能执行有时不能执行,因为字符串写法只能捕获到全局作用域,就是说CountZero这个函数必须放在全局作用域下才能被执行,
而setTimeout(abc,1000)这种写法则既可以捕获全局作用域,也可捕获同一个局部作用域;
因此第二种字符串写法是不推荐的,不规范而且功能上有限制,eval()也有安全问题

使用道具 举报

发新帖

发布任务需求已有1031166位用户正在使用天盟网服务

发布分类: *
任务预算: *
需求内容: *
手机号码: *
任务商家报价为
  • 预算价 :
  • 成交价 :
  • 完工期 :
  • 质保期 :

* 最终任务项目以服务商报价、双方协商为准!