问题更新一下,我之前问了一个问题,这是补充和更新!

来源:8-4 取消计时器clearInterval()

一只特立独行的doge

2016-04-12 10:32

我看了其他有人也在问这个问题,然后知道了能实现的代码是什么样子,但是有一点问题,我在代码里用注释的形式写出来了,哪位大大能给点指示?谢谢了!!!

写回答 关注

3回答

  • fangshuiyu
    2016-04-17 20:56:08
    已采纳

    还有如果你第一次声明变量,没有用var 直接赋值,无论是不是在函数内部,都会被默认为全局变量,这叫隐式声明

    一只特立独行...

    谢了,哥们!

    2016-04-18 08:26:07

    共 1 条回复 >

  • fangshuiyu
    2016-04-17 20:27:39

    你这上面写的是int = setInterval("clock()",1000);你这下面用i怎么可能成功,先把上面改成i,因为var i相当于在函数内部重新定义了一个变量,它的作用域只在函数内部,外部是无法调用的,所以可以和函数外部的变量重名,但是本质上不是一个变量,所以第一次停止可以成功,但是后面重新start以后再stop是没有反应的:如果用i,其实你是在直接给原先外部的i变量重新赋值(虽然看起来好像你赋给它同一个值),这个i的作用域是全局,也就是整个文件里都可以用,所以你在函数里面也可以直接用。

  • 一只特立独行的doge
    2016-04-12 10:33:08

    里面注释有点写错了://如果写成i=setInterval("clock()",1000);就能实现效果,但是写成var i=setInterval("clock()",1000)又不能实现效果了,这是为什么?

JavaScript进阶篇

本课程从如何插入JS代码开始,带您进入网页动态交互世界

468689 学习 · 21895 问题

查看课程

相似问题