js运算,笔试踩坑知识点
最佳答案 问答题库738位专家为你答疑解惑
文章目录
- 前端面试系列
- 运算符
- 记住口诀
- 先计算 后 赋值
- 赋值从右向左
- ++ 和 - -
- 计算从左向右
- 括号里的加减优先于括号外的乘除
- 交换俩数的值
- 答案

前端面试系列
js运算 笔试踩坑知识点
前端js面试题 (三)
前端js面试题(二)
前端js面试题 (一)
css前端面试题(三)
css前端面试题(二)
css前端面试题 (一)
html面试题(二)
html 高频面试题
运算符
常见的算术运算符,+
,-
,*
,%
,/
,=
,()
不常见的运算符 ++
,--
,+=
,-=
,%=
,/=
记住口诀
先计算,后赋值,计算从左向右,赋值从右向左。
先乘除后加减,括号里的加减优先于括号外的乘除。
哪些属于赋值呢 +=
,-=
,%=
,/=
,=
先计算 后 赋值
var a = 1;
var b = 2;
var d = 0;d -= a + b
console.log(d)
赋值从右向左
var a = 1;
var b = 2;
var d = 0;d -= a += b /= d + 1
console.log(a)
console.log(b)
console.log(d)
++ 和 - -
符号在前,先计算再运行
符号在后,先运行再计算
var a = 5;
var b = a++ + 12 + ++ a
console.log(a);
console.log(b);
var a = 5;
var b = (a ++) + (12 + -- a)
console.log(a);
console.log(b);
计算从左向右
var a = 5;
var b = 3;
b += a++ + (12 + -- a)
console.log(a);
console.log(b);
括号里的加减优先于括号外的乘除
var a = 5;
var b = 3;
b += a++ * (12 + -- a)
console.log(a);
console.log(b);
交换俩数的值
var a = 123, b = 234;
a = a + b
b = a - b
a = a - b
答案
先计算后赋值, a + b = 3, 然后 d = 0 - 3
var a = 1;
var b = 2;
var d = 0;d -= a + b
console.log(d) // -3
同样先计算后赋值,多个赋值,从右向左
d + 1 = 1
b = 2 / 1 = 2
a = 1 + 2 = 3
d = 0 - 3 = -3
var a = 1;
var b = 2;
var d = 0;d -= a += b /= d + 1
console.log(a) // 3
console.log(b) // 2
console.log(d) // -3
多次计算,从左向右,++ 在后先运算后加1,++在前,先加1,后运算
a++ 此时 a为 5 变为 5 + 12 + ++a
但完成转变后 a = a + 1 = 6
17 + ++ a
因为++ 在前面,a = a + 1 = 7 所以,b = 17 + 7 = 24
var a = 5;
var b = a++ + 12 + ++ a
console.log(a); // 7
console.log(b); // 24
同理类推
var a = 5;
var b = (a ++) + (12 + -- a)
console.log(a); // 5
console.log(b); // 22
var a = 5;
var b = 3;
b += a++ + (12 + -- a)
console.log(a); // 5
console.log(b); // 25
括号内的加减法优先于括号外的乘除法, 但计算还是从左向右
a++ * (12 + -- a)
变为 5 * (12 + -- a)
然后 a = a + 1 = 6
先算括号里面的加法 ,发现 --在a的前面,所以 a = a - 1 = 5,5 * (12 + -- a)
变为5 * (12 + 5) = 85
最后 b = b + 85 = 88
var a = 5;
var b = 3;
b += a++ * (12 + -- a)
console.log(a); // 5
console.log(b); // 88
99%的人还看了
相似问题
- C# - Opencv应用(2) 之矩阵Mat使用[矩阵创建、图像显示、像素读取与赋值]
- Java之反射获取和赋值字段
- [C++ 从入门到精通] 12.重载运算符、赋值运算符重载、析构函数
- Hive 定义变量 变量赋值 引用变量
- 解决React遍历每次渲染多个根元素导致无法为元素赋值key的问题
- python基础知识填坑之引用、推导式、结构赋值,id()函数
- try-catch-finally执行以及他们在有return的情况下,基本数据类型、对象以及有异步赋值情况异同分析
- 5、Python中的变量和表达式:变量的定义、赋值和数据类型转换
- 海康Visionmaster-全局脚本:通过全局脚本获取通讯输 入的参数并赋值给全局变量
- Python赋值给另一个变量且不改变原变量
猜你感兴趣
版权申明
本文"js运算,笔试踩坑知识点":http://eshow365.cn/6-37916-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!