ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

JavaScript一元操作符详解

2022-08-03 18:03:29  阅读:184  来源: 互联网

标签:变量 age JavaScript 详解 操作符 var 递减 1.1


只能操作一个值的操作符叫做一元操作符。

  • 递增和递减操作符

递增和递减操作符有前置型后置型两个版本。从字面上看就识货,前置型应该位于要操作的变量之前。而后置型就是位于要操作的变量之后。如下例子:

var age = 24;
++age; // 25

等同于

var age = 24;
age = age + 1;

执行前置递减操作的方法也类似,结果会将数值减去1。使用前置递减时,要把两个减号放在相应的变量前边,如:

var age = 24;
--age; // 23

执行前置递增和递减操作时,变量的值都是在语句被求值以前改变的。
如下例:

var age = 24;
var endAge = --age + 2;
alert(age); // 23
alert(endAge); // 25

这个例子中,变量endAge的初始值等于变量age的值前置递减之后加2。因为先执行了减法操作,age的值变成了23,所以之后再加上2的结果就为25。
前置递增和递减操作与执行语句的优先级相等,执行顺序为从左到右求值。
如下例:

var num1 = 2;
var num2 = 20;
var num3 = --num1 + num2; // 21
var num4 = num1 + num2; // 21

后置型递增和递减操作符的语法不变,只不过要放在变量的后面。后置递增和递减前置递增和递减有一个非常重要的区别,即递增和递减操作是在包含它们的语句被求值之后才执行的
如下例:

var age = 24;
age++; // 25

当递增是这条语句的唯一操作时,结果并不会有所改变。但是,当语句中包含的还有其他的操作时,上述区别就会非常明显。

var num1 = 2;
var num2 = 20;
var num3 = num1-- + num2; // 22
var num4 = num1 + num2; // 21

这时就可以看出明显的差别,根源在于这里计算num3时使用了num1的原始值 “2” 完成了计算,而num4则是使用了递减后的值 “1” 。
所有这 4 个操作符对任何值都适用,也就是它们不仅适用于整数,还可以用于字符串、布尔值、浮点数值和对象。在应用于不同的值时,递增和递减操作符遵循下列规则。
- 在应用于一个包含有效数字字符的字符串时,先将其转换为数字值,再执行加减 1 的操作。字符串变量变成数值变量。
- 在应用于一个不包含有效数字字符的字符串时,将变量的值设置为 NaN。字符串变量变成数值变量。
- 在应用于布尔值 false 时,先将其转换为 0 再执行加减 1 的操作。布尔值变量变成数值变量。
- 在应用于布尔值 true 时,先将其转换为 1 再执行加减 1 的操作。布尔值变量变成数值变量。
- 在应用于浮点数值时,执行加减 1 的操作。
- 在应用于对象时,先调用对象的 valueOf()方法以取得一个可供操作的值。然后对该值应用前述规则。如果结果是 NaN,则在调用 toString()方法后再应用前述规则。对象变量变成数值变量。
如下例:

var a = "2";
var b = "z";
var c = false;
var d = 1.1;
var e = {
  valueOf: function() {
    return -1;
  }
};
a++; // 3
b++; // NaN
c++; // 1
d--; // 0.10000000000000009(由于浮点舍入错误所致)
e--; // -2
  • 一元加和减操作符

一元加和减操作符,这两个 ECMAScript 操作符的作用与数学书上讲的完全一样。一元加操作符以一个加号表示,放在数值前面,对数值不会产生任何影响。
如下例:

var num = 24;
num = +num; // 24

在对非数值应用一元加操作符时,该操作符会像 Number()转型函数一样对这个值执行转换。也就是说,布尔值 false 和 true 将被转换为 0 和 1,字符串值会被按照一组特殊的规则进行解析,而对象是先调用它们的 valueOf()和(或)toString()方法,再转换得到的值。
如下例:

 

var a = "01";
var b = "1.1";
var c = "z";
var d = false;
var e = 1.1;
var f = {
  valueOf: function() {
    return -1;
  }
};
a = +a; // 1
b = +b; // 1.1
c = +c; // NaN
d = +d; // 0
e = +e; // 1.1
f = +f; // -1

一元减操作符主要用于表示负数。

 

var a = "01";
var b = "1.1";
var c = "z";
var d = false;
var e = 1.1;
var f = {
  valueOf: function() {
    return -1;
  }
};
a = -a; // -1
b = -b; // -1.1
c = -c; // NaN
d = -d; // 0
e = -e; // -1.1
f = -f; // 1

> **学习随笔**

标签:变量,age,JavaScript,详解,操作符,var,递减,1.1
来源: https://www.cnblogs.com/original-alps/p/16548089.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有