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

关于变量赋值跟setInterval函数交互时间问题?

 var attime;

  function clock(){

    var time=new Date();          

    attime=time.getHours()+"时"+time.getMinutes()+"分"+time.getSeconds()+"秒";

  //这里时分秒属于字符串吧,为什么可以直接赋值给变量呢???

    document.getElementById("clock").value = attime;

  }

 setInterval(clock,10000) 

//为什么交互时间改为10000,显示结果还是一分钟刷新一次呢???

正在回答

1 回答

JS脚本语言是弱类型的,不像JAVA要声明是int,char,还是String类型的。它只用声明var 后面写什么,就是什么,可以是数字,也可以是字符串。

间隔10000毫秒,是一分钟刷新一次?这个我试了一下是每隔10秒刷新一次,它是随时间变化的,你建个了十秒,刷新一次,刷新后心事的是当前计算机的时间,正好是上一次显示的时间加上10秒。

0 回复 有任何疑惑可以回复我~
#1

慕粉1469604703 提问者

在变量赋值中有一句注意:字符串需要用一对引号""括起来,然后赋值给变量。 然后我发现给一个变量赋值居然可以这样赋值:var time=13+"时";觉得好奇怪,要怎么理解呢?
2016-09-02 回复 有任何疑惑可以回复我~
#2

qq_TO世界尽头_03751774 回复 慕粉1469604703 提问者

这样赋值我没有试过,应该是默认把13当做一个字符串与后面的连接起来吧,+是作为连接符而不是加号。我在前面写过一个程序,计算器的那个吧,读取的text里的数字,比如12和13,默认也是作为字符串的,如果你计算12+13,得到的结果就是1213。默认字符串的话就默认设置+为连接符,要用parseInt(12),转化一下才可以计算。我觉得这两个应该差不多吧。都是默认的字符串。
2016-09-02 回复 有任何疑惑可以回复我~
#3

慕粉1469604703 提问者 回复 qq_TO世界尽头_03751774

是的哦,理解成字符串之间的连接,这样就不觉得别扭了。谢谢!
2016-09-03 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
JavaScript进阶篇
  • 参与学习       468043    人
  • 解答问题       21891    个

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

进入课程

关于变量赋值跟setInterval函数交互时间问题?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信