js中的for循环和i++

                            for(exp1;exp2;exp3){
			     循环体(被执行的代码块);
			 }
			 exp1:在循环(代码块)开始前执行;
			 exp2:是判断是否能执行循环体的条件;
                         exp3;在循环(代码块)已被执行之后执行,进行增量操作(例如加减法等);

                            for (var i = 1; i <= 10; ++i) {
                                document.write(i+"
");                                         }                             alert(i);             //首先给变量i赋初始值1,然后判断 1<10,接着执行循环体 document.write(i+"
"),然后进行第一次增量操作:i+1,然后进入下一次循环

        在这个for循环中,i++和++i的作用并无区别,因为它们是独立语句,没有涉及到i值的引用(例如赋值或者比较),独立使用的时候没有先赋值后自加或者先自加后赋值中的"赋值"操作,所以也就不存在操作先后的关系即最后效果都是一样的只有自加。例如没有直接将 i值赋给其他变量或者将i++或者++i与其他值直接进行比较,只是一个关于变量i的简单叠加然后进行判断的过程(虽然在for循环中涉及到了i值的比较,但是不是直接的比较,没有直接用i++或者是++i与10进行比较而是将增量之后的结果与10进行比较)

如果是这样进行直接比较那i++和++i就有一定的区别:

                        var i = 0;
			if (0 < i++ ) {
			    document.write("yes");
			}else{
				document.write("no");
			}//返回值为no 先将i=0与0进行比较然后再加1
			alert(i);//1
			
			document.write("
"); var i = 0; if (0 < ++i) { document.write("yes"); } else{ document.write("no"); }//返回值为yes 先i+1然后在于0进行比较 alert(i);//

你可能感兴趣的:(js)