扒扒javascipt前置++跟后置++的那些事

简介: 扒扒javascipt前置++跟后置++的那些事

前置后置运算法则

++都是加1,但是前后置的作用不同
前置++:先运算后输出
后置++:先输出后运算

–都是减1,但是前后置作用不同
前置–:先运算后输出
后置–:先输出后运算

先乘除后加减,有小括号先算小括号里面的

前置++

前置++先运算后输出

var a=10;
 console.log(++a);
 //1+10
 //打印11

这里为什么要打印11呢?

根据前置运算法则,先运算后输出也就是相当于这个10在打印前先运算了一下,也就是10+1,所以等于11

后置++

var a=10;
console.log(a++);
//打印10
//10+1

这里为什么打印10呢?

根据后置运算法则,先输出后运算,所以这里是先打印了自身也就是10,然后在加1;

后置++进阶

var a=10;
sonsole.log(a++);
//打印10
//10+1
var b=a; //由于a是10,后置++,在输出之后加1
// b=11;
console.log(b)
//11

为什么会打印11?

根据后置运算法则,先输出后运算,由于在打印的时候打印了10,这是输出了,那么到变量b时就是11.

细节:其实无论是不是打印,重点在于a++;

前置–

前置–先运算后输出

var a=10;
 console.log(--a);
 //10-1
 //打印9

这里为什么要打印9呢?

根据前置运算法则,先运算后输出也就是相当于这个10在打印前先运算了一下,也就是10-1,所以等于9

后置–

var a=10;
console.log(a--);
//打印10
//10-1

这里为什么打印10呢?

根据后置运算法则,先输出后运算,所以这里是先打印了自身也就是10,然后在减1;

后置–进阶

var a=10;
sonsole.log(a--);
//打印10
//10-1
var b=a; //由于a是10,后置--,在输出之后减1
// b=9;
console.log(b)
//9

为什么会打印9?

根据后置运算法则,先输出后运算,由于在打印的时候打印了10,这是输出了,那么到变量b时就是9.

细节:其实无论是不是打印,重点在于a-- ;

扩展题

第一道

var num1=5;
var num2=4;
console.log(++num2+num1*2+num2++);

第二道

var num1=5;
var num2=4;
console.log(++num2+num1*2+ ++num2+2);

第三道

var num1=5;
var num2=4;
console.log(++num2+num1*2+num2*2-2);

第四道

var num1=5;
var num2=4;
console.log(num2++ +num1*2+num2*2-2);

答案

第一道

var num1=5;
var num2=4;
console.log(++num2+num1*2+num2++);
//5 +10+5++
//19

第二道

var num1=5;
var num2=4;
console.log(++num2+num1*2+ ++num2+2);
//5+10+6+2
//23

第三道

var num1=5;
var num2=4;
console.log(++num2+num1*2+num2*2-2);
//5 +10+10-2
//23

第四道

var num1=5;
var num2=4;
console.log(num2++ +num1*2+num2*2-2);
//4++ + 10 + 5*2 -2
//22
相关文章
|
3月前
|
存储 算法 编译器
【C深度解剖】前置++与后置++
【C深度解剖】前置++与后置++
|
5月前
|
C语言
C语言-----前置++和后置++的不同
C语言-----前置++和后置++的不同
|
6月前
|
Java 测试技术 数据处理
JMeter前置处理器-Beanshell前置处理器详解
JMeter的Beanshell前置处理器允许用Java-like语法执行测试前的自定义逻辑,如参数化和数据处理。要添加它,右键点击HTTP请求,选择“添加”->“前置处理器”->“Beanshell前置处理器”。内置变量如`vars`, `ctx`, `log`和`props`提供与JMeter变量、上下文、日志和属性的交互。例如,`vars.get("key")`用于获取变量,`log.info()`用于记录日志。使用这些工具,测试者能增强性能测试的复杂性和准确性。
|
6月前
|
算法 程序员 C语言
【C++ 运算符重载】深入理解C++迭代器中的前置与后置++操作符
【C++ 运算符重载】深入理解C++迭代器中的前置与后置++操作符
246 0
|
11月前
前置++与后置++的区别
前置++与后置++的区别
67 0
|
测试技术 Python
unittest--前置和后置
unittest--前置和后置
JavaScript_前置递增和后置递增
JavaScript_前置递增和后置递增
|
存储 Java 编译器
一文打通:从字节码指令的角度解读前置后置自增自减(加加++减减--)
一文打通:从字节码指令的角度解读前置后置自增自减(加加++减减--)
66 0
|
C语言
关于前置++和后置++你真的掌握了吗?
关于C语言前置++和后置++的区别
182 0