请问为什么会这样

来源:8-17 编程练习

慕前端7121920

2015-04-27 14:37

<!DOCTYPE html>

<html>

 <head>

  <title>浏览器对象</title>  

  <meta http-equiv="Content-Type" content="text/html; charset=gkb"/>   

 </head>

 <body>

  <!--先编写好网页布局-->

     <h4>操作成功</h4>

    <p><span id="time">5</span>秒后回到主页<a href="javascript:history.back()">返回</a></p>

  <script type="text/javascript">  

    var but=document.getElementById("time");

    var but1=setInterval("if(but>1){document.getElementById('time').innerHTML= --but}else{location.assign('http://www.imooc.com');}",1000)

</script> 

</body>

</html>

我把--but 改成but-- ,结果就会变成当秒钟运行 2 就直接跳转    这是为什么,

而我不改的话 ,就会到0的时候才跳转  ,为什么


写回答 关注

1回答

  • 不断滴自我催眠
    2015-04-27 16:19:49
    已采纳

    but-- 和 --but 是有区别

    前者是先赋值在运算

    后者先运算在赋值。

    var but = 5;

    var but1 = 5;

    var num = but--;//先赋值在运算,即先执行num=but 在执行-- 所以=5

    var num1 = --but1;//选运算在赋值 即先执行--在执行num=but  所以4

    document.write(num);

    document.write(num1);


    慕前端712...

    谢谢 我明白了

    2015-04-27 16:27:46

    共 1 条回复 >

JavaScript进阶篇

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

468195 学习 · 21891 问题

查看课程

相似问题