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

请问为什么会这样

<!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 回答

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);


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

慕前端7121920 提问者

谢谢 我明白了
2015-04-27 回复 有任何疑惑可以回复我~

举报

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

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

进入课程

请问为什么会这样

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