在ECMAScript中提供了一元操作符进行简单的运算,一元操作符是ECMAScript中最简单的操作符,它只能对一个值进行操作。 一元操作符有两种类型,一种是递增和递减操作符,一种是一元加和一元减操作符。

递增和递减操作符

ECMAScript递增递减操作符是直接借鉴C语言的,由”++”和”–“分别来表示自身递增和递减。递增递减还有两种情况,分别为前置型和后置型。

前置型:前置型的作用是在包含它的语句求值之前进行递增递减,例如:

 var test1 = 10;

 var test2 = 20;

 var test3 = –test1 + test2; 执行过后的值为: test3的值为29、test1的值为9、test2的值20

 或者

 var test3 = ++test1 + test2; 执行过后的值为:test3的值为31、test1的值为11、test2的值为20

后置型:后置型的作用是在包含它的语句求值之后进行递增递减,例如:

 var test1 = 10;

 var test2 = 20;

  var test3 = test1– + test2; 执行过后的值为:test3的值为30、test1的值为9、test2的值20

 或者

 var test3 = test1++ + test2; 执行过后的值为:test3的值为30、test1的值为11、test2的值为20

递增递减操作符对所有类型的变量进行转换的规则如下:

1、如果是数值则直接进行递增递减操作。 在操作一个包含有效数字字符的字符串时,先将其转换为数值,再进行递增递减操作。字符串变量转换为数值变量。

2、在操作一个不包含有效数字字符的字符串时,直接将变量设置为NaN。字符串变量转换为数值变量。

3、在操作布尔值的时候,true转换为数值0、false转换为数值1,然后进行递增递减操作。布尔值变量转换为数值变量。

4、如果操作是对象,先调用对象的valueOf()方法得到一个可以操作的数值,然后再用上面其他规则转换。如果转换过后的值不是一个有效的数值(NaN),那就再次调用toString()方法再应用上面的其他规则,如果还不是,则返回NaN。对象变量转换为数值变量

一元加减操作符

一元加减操作符由”+”和”-“分别表示加减操作符,它是放在转换值前面的,转换规则和Number()转型函数一样进行操作(ECMAScript中数值转换操作)。它们在运算中比较常见,经常会用于正负数转换。例如:

 var test = 123;

 test = -test; test的值为:-123

 test = +test; test的值为:123

最新文章

  1. (转载)构建public APIs与CORS
  2. 【mysql】关于循环插入数据 存储设计
  3. 端口扫描base
  4. HDU 3681 Prison Break(BFS+二分+状态压缩DP)
  5. bzoj 1208 宠物收养所--splay
  6. [Locked] 3Sum Smaller
  7. 主持汇 - NEXT
  8. Lucene核心--构建Lucene搜索(上篇,理论篇)
  9. ReSharper C++计划上市
  10. mvc4项目数据库优先的尝试
  11. javascript的词法作用域
  12. java 编程性能调优
  13. 大众点评selfxss结合两个csrf变废为宝(已修复,故公开,不涉及真实参数)
  14. Supervisor使用教程
  15. Android Studio Gradle Build Running 加速
  16. Note | Markdown
  17. 自定义Write节点的beforerender属性
  18. Jmeter关于上传图片接口
  19. 前端-CSS-9-文本和字体-背景颜色
  20. GUI程序设计3

热门文章

  1. 让BOOTSTRAP默认SLIDER支持触屏设备
  2. SmartbBear给出的11条代码审查最佳实践
  3. Hyper-V虚拟化--逻辑网络、VM网络、逻辑交换机
  4. Eclipse开发PHP环境配置
  5. Kinect for Windows V2和V1对照开发___深度数据获取并用OpenCV2.4.10显示
  6. 【转】C++里定义全局变量和函数常用方法
  7. 玩转Android之MVVM开发模式实战,炫酷的DataBinding!
  8. youku的js脚本的工具函数和初始化方法
  9. 在ModelSim波形图中以参数名显示变量
  10. C++学习(二)