" 表达式 " 是 由 数字 , 运算符 , 变量 组成的 " 式子 " ;
每个 " 表达式 " 都有一个最终的结果 , 这个结果就称为 表达式 的 " 返回值 " ;
1 + 2
是 表达式 , 3
是 上述表达式的 返回值 ;如果 想要 把 " 表达式 " 的 最终计算结果 赋值给 一个变量 , 需要将 接收结果的变量 写在 赋值运算符的左边 , 表达式写在 赋值运算符 的右边 ;
var num = 1 + 2
, 表达式 1 + 2
赋值给 num
变量 ;在 " 算术运算符 " 中有
++
--
这两个运算符 在 JavaScript 开发中 , 使用的非常频繁 ;
自增 和 自减 运算符 必须与 变量 一起使用 , 不能与 number 数字类型值 一起使用 ;
var num = 1
;num++
, num--
, ++num
, --num
这中用法是正确的 ;1++
, ++1
, 1--
, --1
这种用法是错误的 ;如果想要 var num = 1
变量 加 1 , 需要使用 num = num + 1
, 比较繁琐 , 使用 自增运算符 num++
即可完成 变量 加 1 的效果 ;
自增 和 自减 运算符 ,
++num
, 这是 前置自增运算符 ++num
;num++
, 这是 后置自增运算符 num++
;前置自增运算符 ++num
和 后置自增运算符 num++
效果是不同的 ;
自增运算符基础用法 示例 :
// 前置自增运算符 : ++num , 相当于 num = num + 1
++num;
console.log(num) // 输出 : 4
前置 自增 / 自减 运算符 ,
++num
相当于 num = num + 1
;--num
相当于 num = num - 1
;前置自增运算符 运算时 , 先进行 自增 / 自减 , 然后 再 返回表达式的值 ; ( 这于 后置 自增 / 自减 运算符 正好相反 , 后置运算符 先 返回表达式值 然后再 自增 / 自减 )
前置自增运算符 , 先自增 , 再返回表达式值 ;
下面的代码中 , ++num2
先进行自增 , 然后返回表达式的值 6 , 最后与 1 进行加法运算 , 得到最终值 7 ;
// 前置自增运算符 , 先进行 自增 , 然后 再 返回表达式的值
var num2 = 5;
console.log(1 + ++num2)
后置 自增 / 自减 运算符 ,
num++
相当于 num = num + 1
;num++
相当于 num = num - 1
;前置自增运算符 和 后置自增运算符 , 单独使用 , 效果相同 , 如果写在表达式中 , 则其效果不同 ;
后置自增运算符 运算时 , 先返回表达式的值 , 然后 再 进行 自增 / 自减 ; ( 这于 前置 自增 / 自减 运算符 正好相反 , 前置运算符 先 自增 / 自减 然后再 返回表达式值 )
后置自增运算符 , 先返回表达式值 , 再自增 ;
下面的代码中 , num3++
先 返回表达式的值 5 , 然后与 1 进行加法运算 , 得到最终值 6 , 最后 num3 进行自增 ;
// 前置自增运算符 , 先 返回表达式的值 , 然后 再 进行 自增
var num3 = 5;
console.log(1 + num3++) // 输出 : 6
代码示例 :
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<!-- 设置 meta 视口标签 -->
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no,maximum-scale=1.0,minimum-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>JavaScript</title>
<style></style>
<script>
// 定义 数字类型 变量 num
var num = 3;
// 前置自增运算符 : ++num , 相当于 num = num + 1
++num;
console.log(num) // 输出 : 4
// 前置自增运算符 , 先进行 自增 , 然后 再 返回表达式的值
var num2 = 5;
console.log(1 + ++num2) // 输出 : 7
// 前置自增运算符 , 先 返回表达式的值 , 然后 再 进行 自增
var num3 = 5;
console.log(1 + num3++) // 输出 : 6
</script>
</head>
<body>
</body>
</html>
执行结果 :