Kitayama
2016-01-14 00:38
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>do...while</title>
<script type="text/javascript">
var mynum =6;//mynum初值化数值为6
do
{
document.write("数字:"+mynum+"<br/>");
mynum=mynum-1;//改成mynum=mynum--
}
while(mynum>0)
</script>
</head>
<body>
</body>
</html>
一改成mynum网页就crash,是不能用这样的方法吗?
这里要注意a--和--a的区别:
--在后边表示先赋值在计算,比如a=2,n=a--,结果n=2,a=1;
--在前边好事先计算在赋值,比如a=2,n=--a,结果n=1,a=1;
同理a++和++a。
假设一个数i,那么i++的意思是先返值i再加,意思就是加入你在这个算是前面加个输出,它显示的值是i而不是i+1,你改成++i就好了,++i的意思就是先加再返值,同理这里如果是mynum--,那么因为是先返值的原因肯定是死循环,你换成--mynum肯定就行了
mynum--的意思是先使用(赋值)再自减
mynum=mynum--的执行过程是
mynum=mynum
mynum=mynum
mynum=mynum
无限循环
mynum-- 等价于 mynum=mynum-1 使用其一就可。
JavaScript进阶篇
468060 学习 · 21891 问题
相似问题