为了账号安全,请及时绑定邮箱和手机立即绑定

下面代码中,setTimeout中前段代码写成w就可以运行,写成"w()"就不能运行的原因是什么?

下面代码中,setTimeout中前段代码写成w就可以运行,写成"w()"就不能运行的原因是什么?

油泼裤带面 2017-01-18 11:14:51
 <script type="text/javascript">      window.onload= function w(){          var time=new Date();          var year=time.getFullYear();          var month=time.getMonth()+1;          var day=time.getDate();          var week=time.getDay()          var weekday=new Array();            weekday[0]="星期日";            weekday[1]="星期一";            weekday[2]="星期二";            weekday[3]="星期三";            weekday[4]="星期四";            weekday[5]="星期五";            weekday[6]="星期六";          var h=time.getHours();          var m=time.getMinutes();          var s=time.getSeconds();        document.getElementById("first1").innerHTML=year+"年"+month+"月"+day+"日"+weekday[week]+h+":"+m+":"+s;           setTimeout('w()',500)        }                 </script>
查看完整描述

3 回答

已采纳
?
KevenHuang

TA贡献280条经验 获得超233个赞

因为是回调函数,所以只要传函数名进去就行了。
查看完整回答
反对 回复 2017-01-18
  • 油泼裤带面
    油泼裤带面
    嗯 查了下回调函数的定义,有点难理解,能通俗易懂的给我讲解下回调函数的概念么?怎样辨识一个函数是不是回调函数
  • KevenHuang
    KevenHuang
    就是一个函数的参数是一个函数的名字,这种函数就是回调函数,以参数形式传进去的函数名会在回调函数内部以可变函数的形式进行调用的,function t1(funName){funName();} function t2(){alert(&quot;hello world!&quot;)} t1(&quot;t2&quot;);你可以用我的代码看看,我定义了一个函数t1和t2,然后调用t1把t2当成参数传入t1然后在t1内部调用了t1,这就是回调函数。
  • 油泼裤带面
    油泼裤带面
    最后一句是在t1里面调用了t2是吧?简单的来说就是将一个函数作为另一个函数的变量使用的话就是回调函数吗?还是说将一个函数作为另一个函数的变量后,再调用自身才是回调函数?
点击展开后面2
?
weenhall

TA贡献121条经验 获得超57个赞

‘w()’会认为是一个变量,w()则是运行该函数

查看完整回答
反对 回复 2017-01-18
  • 油泼裤带面
    油泼裤带面
    setTimeout中第一个不应该是一个函数或者一段字符吗?w()怎么会被认为是一个变量呢?
  • weenhall
    weenhall
    setTimeout(code,millisec) ode 必需。要调用的函数后要执行的 JavaScript 代码串。 millisec 必需。在执行代码前需等待的毫秒数。 'w()'不是一个 JavaScript 代码串,w()才是,看不懂?
  • 3 回答
  • 1 关注
  • 1434 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信