标签:递增 改变 科学 col asc pre 操作 font 例子
一、首先看四个例子
①
var num1 = 9; document.writeln(num1); // 9 --num1 document.writeln(num1); //8
②
var num1 = 9; document.writeln(num1); // 9 num1-- document.writeln(num1); //8
前两个例子毫无疑问,就是简单的把num1 进行了减1;
③
var num1 = 9; var num2 = --num1 + 2; document.writeln(num1); // 8 document.writeln(num2); // 10
这是会得到 num1被减了1,num2也-->8+2=10;
④
var num1 = 9; var num2 = num1-- + 2; document.writeln(num1); // 8 document.writeln(num2); // 11
这是会得到 num1被减了1,num2却是-->9+2=11;
二、我们接着来看下面两个例子
⑤
var num1 = 2; var num2 = 10; var num3 = --num1 + num2; var num4 = num1 + num2; document.writeln(num3); // 11 document.writeln(num4); // 11
得到 num1都被减了1
⑥
var num1 = 2; var num2 = 10; var num3 = num1-- + num2; var num4 = num1 + num2; document.writeln(num3); // 12 document.writeln(num4); // 11
得到 num3中的num1没有被减1,而num4中的num1被减了1
总结下:执行前置递增和递减操作时,变量的值都是在语句被求值以前改变的。(在计算机科学领域,这种情况通常被称为副效应)。执行后置递增和递减操作时,是在它们的语句被求值之后才执行。①②例子中,--a 和 a-- 都相当于 a= a-1; 并没有为了得到其他值而进行提前操作。
标签:递增 改变 科学 col asc pre 操作 font 例子
原文地址:http://www.cnblogs.com/wdz-freddy/p/7831442.html