<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script type="text/javascript"> //原视频讲解的不好,参考高级程序设计 //前置递增
var age = 29;
++age;
console.log(age); //30
//等同于
var age = 29;
age = age + 1;
console.log(age); //30 //前置递减和这个类似
var age = 29;
--age;
console.log(age); //28 //执行前置递减和递增操作时,变量的值都是在语句被求值以前改变的
var age = 29;
var anotherAge = --age + 2;
console.log(age); //28
console.log(anotherAge); 30 //由于前置递减和递增操作与执行语句的优先级相等,因此整个语句会从左至右被求值
var num1 = 2;
var num2 = 20;
var num3 = --num1 + num2;
var num4 = num1 + num2;
console.log(num3); //21
console.log(num4); //21 //zhou:通俗地说,前置就是先对自己加或减,把自己搞好了再去做其他的 //---------------------------------------------------------------------------------------------------- //后置递增和递减与前置递增和递减有一个非常重要的区别,即递增和递减操作是在包含它们的语句被求值之后才执行的
//这个区别在某些情况下不是什么问题,例如:
var age = 29;
age++;
console.log(age); //30 //把递增操作符放在变量后面并不会改变语句的结果,因为递增是这条语句的唯一操作。
//但是,当语句中还包含其他操作时,上述区别就会非常明显了,例如:
var num1 = 2;
var num2 = 20;
var num3 = num1-- + num2;
var num4 = num1 + num2;
console.log(num3); //22
console.log(num1); //1
console.log(num4); //21 //zhou:通俗地说,后置就是先去做其他的,等其他的搞好了,再对自己加或减 var num1 = 2;
var num2 = 20;
var num3 = num1++ + num2;
var num4 = num1 + num2;
console.log(num3); //22
console.log(num1); //3
console.log(num4); //23 </script> </head>
<body>
</body>
</html>

JS基础_自增和自减的更多相关文章

  1. JS基础_自增自减练习

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  2. JS基础_运算符的优先级

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  3. JS基础_标识符

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  4. C++基础之自增和自减运算符的重载

    1. 格式 1.1 分为前置和后置格式: int x = 0; int y = 0; // 后置自增运算符 x++; // 前置自增运算符 ++x; // 后置自减运算符 y--; // 前置自减运算 ...

  5. JS基础_全局作用域

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  6. JS基础_函数的简介

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  7. JS基础_数组的遍历

    遍历:将数组中所有的元素都取出来 1.for循环 var arr = ["1","2","3"]; for(let i=0;i<arr ...

  8. JS基础_垃圾回收(GC)

    垃圾回收(GC) 程序运行过程中也会产生垃圾,这些垃圾积攒过多以后,会导致程序运行的速度过慢,所以我门需要一个垃圾回收的机制,来处理程序运行过程中产生的垃圾 当一个对象没有任何的变量或属性对它进行引用 ...

  9. JS基础_基本数据类型和引用数据类型

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

随机推荐

  1. linux terminal 快捷键

    删除 快捷键 描述 Ctrl+h 删除光标位置的前一个字符(同 backspace 键功能) Ctrl+* 删除光标位置的前一个字符(同 ctrl+h 组合键功能) Ctrl+d 删除光标位置的一个字 ...

  2. spring-data-jpa模糊查询

    记录一条关于spring-data-jpa模糊查询的语句 方法一: @Query(value="select * from search_key a where a.key_name lik ...

  3. [洛谷P5323][BJOI2019]光线

    题目大意:有$n$层玻璃,每层玻璃会让$a\%$的光通过,并把$b\%$的光反射.有一束光从左向右射过,问多少的光可以透过这$n$层玻璃 题解:事实上会发现,可以把连续的几层玻璃合成一层玻璃,但是要注 ...

  4. SpringBoot--对SpirngMVC的自动配置

    SpringBoot对SpringMVC提供了许多自动配置 Inclusion of ContentNegotiatingViewResolver and BeanNameViewResolver b ...

  5. c#自制抽奖小程序

    #region 第一部分界面设计 ; Button button = new Button(); Image[] images = new Image[N]; PictureBox[] picture ...

  6. Bootstrap 结合 PHP ,做简单的登录以及注册界面及功能

    登录实现 HTML代码 <div class="container"> <?php if (isset($error_msg)): ?> <div c ...

  7. “proxy” in package.json must be a string 解决办法

    今天学习一个react项目.想从本地服务器获取数据. 直接axios.get('http://localhost:80/api/react/header.json'),报错跨域. 网上查了下,需要在p ...

  8. mtd设备操作、jffs2

    安装mtd相关命令 手动安装mtd-utils,根据系统自行选择 mtd交叉编译:https://blog.csdn.net/zhangxuechao_/article/details/5212442 ...

  9. 1-Spark-1-性能调优-数据倾斜1-特征/常见原因/后果/常见调优方案

    数据倾斜特征:个别Task处理大部分数据 后果:1.OOM;2.速度变慢,甚至变得慢的不可接受 常见原因: 数据倾斜的定位: 1.WebUI(查看Task运行的数据量的大小). 2.Log,查看log ...

  10. spark 机器学习 决策树 原理(一)

    1.什么是决策树 决策树(decision tree)是一个树结构(可以是二叉树或者非二叉树).决策树分为分类树和回归树两种,分类树对离散变量做决策树,回归树对连续变量做决策树. 其中每个非叶节点表示 ...