• 技术文章 >web前端 >前端问答

    什么是javascript算术运算符

    青灯夜游青灯夜游2021-11-26 17:07:32原创362

    在javascript中,算术运算符是用于对数字(文字或变量)执行算术运算的一种符号,包括有:加法运算符“+”、减法运算符“-”、乘法运算符“*”、除法运算符“/”、求余运算符“%”、数值取反运算符“-”。

    本教程操作环境:windows7系统、javascript1.8.5版、Dell G3电脑。

    在javascript中,算术运算符是用于对数字(文字或变量)执行算术运算的一种符号;是完成基本的算术运算 (arithmetic operators) 符号,就是用来处理四则运算的符号。

    算术运算符包括:加+、减-、乘*、除/、求余运算符%、数值取反运算符-。

    运算符描述示例
    +加法运算符x + y 表示计算 x 加 y 的和
    -减法运算符x - y 表示计算 x 减 y 的差
    *乘法运算符x * y 表示计算 x 乘 y 的积
    /除法运算符x / y 表示计算 x 除以 y 的商
    %取模(取余)运算符x % y 表示计算 x 除以 y 的余数

    加法运算符

    示例1

    注意特殊操作数的求和运算。

    var n = 5;  //定义并初始化任意一个数值
    console.log(NaN + n);  //NaN与任意操作数相加,结果都是NaN
    console.log(Infinity + n);  //Infinity与任意操作数相加,结果都是Infinity
    console.log(Infinity + Infinity);  //Infinity与Infinity相加,结果是Infinity
    console.log((-Infinity) + (-Infinity));  //负Infinity相加,结果是负Infinity
    console.log((-Infinity) + Infinity);  //正负Infinity相加,结果是NaN

    示例2

    加运算符能够根据操作数的数据类型,决定是相加操作,还是相连操作。

    console.log(1 + 1);  //如果操作数都是数值,则进行相加运算
    console.log(1 + "1");  //如果操作数中有一个是字符串,则进行相连运算
    console.log(3.0 + 4.3 + "");  //先求和,再连接,返回"7.3"
    console.log(3.0 + "" + 4.3);  //先连接,再连接,返回"34.3"
                                  //3.0转换为字符串3

    在使用加法运算符时,应先检查操作数的数据类型是否符合需要。

    减法运算符

    示例1

    注意特殊操作数的减法运算。

    var n = 5;  //定义并初始化任意一个数值
    console.log(NaN - n);  //NaN与任意操作数相减,结果都是NaN
    console.log(Infinity - n);  //Infinity与任意操作数相减,结果都是Infinity
    console.log(Infinity - Infinity);  //Infinity与Infinity相减,结果是NaN
    console.log((-Infinity) - (-Infinity));  //负Infinity相减,结果是NaN
    console.log((-Infinity) - Infinity);  //正负Infinity相减,结果是-Infinity

    示例2

    在减法运算中,如果操作数为字符串,先尝试把它转换为数值,再进行运算。如果有一个操作数不是数字,则返回 NaN。

    console.log(2 - "1");  //返回1
    console.log(2 - "a");  //返回NaN

    使用值减去 0,可以快速把值转换为数字。例如 HTTP 请求中查询字符串一般都是字符串型数字,可以先把这些参数值减去 0 转换为数值。这与调用 parseFloat() 方法的结果相同,但减法更高效、快捷。减法运算符的隐性转换如果失败,则返回 NaN,这与使用 parseFloat() 方法执行转换时的返回值是不同的。

    例如,对于字符串“100aaa”而言,parseFloat() 方法能够解析出前面几个数字,而对于减法运算符来说,则必须是完整的数字,才可以进行转换。

    console.log(parseFloat("100aaa"));  //返回100
    console.log("100aaa" - 0);  //返回NaN

    对于布尔值来说,parseFloat() 方法能够把 true 转换为 1,把 false 转换为 0,而减法运算符视其为 NaN。

    对于对象来说,parseFloat() 方法会尝试调用对象的 toString() 方法进行转换,而减法运算符先尝试调用对象的 valueOf() 方法进行转换,失败之后再调用 toString() 进行转换。

    取反运算

    取反运算符是一元运算符,也称一元减法运算符。

    示例

    注意特殊操作数的取反运算。

    console.log(- 5);  //返回-5。正常数值取负数
    console.log(- "5");  //返回-5。先转换字符串数字为数值类型
    console.log(- "a");  //返回NaN。无法完全匹配运算,返回NaN
    console.log(- Infinity);  //返回-Infinity
    console.log(- (- Infinity));  //返回Infinity
    console.log(- NaN);  //返回NaN

    与一元减法运算符相对应的是一元加法运算符,利用它可以快速把一个值转换为数值。

    乘法运算符

    注意特殊操作数的乘法运算。

    var n = 5;  //定义并初始化任意一个数值
    console.log(NaN * n);  //NaN与任意操作数相乘,结果都是NaN
    console.log(Infinity * n);  //Infinity与任意非零正数相乘,结果都是Infinity
    console.log(Infinity * (- n));  //Infinity与任意非零负数相乘,结果是-Infinity
    console.log(Infinity * 0);  //Infinity与0相乘,结果是NaN
    console.log(Infinity * Infinity);  //Infinity与Infinity相乘,结果是Infinity

    除法运算符

    注意特殊操作数的除法运算。

    var  n = 5;  //定义并初始化任意一个数值
    console.log(NaN / n);  //如果一个操作数是NaN,结果都是NaN
    console.log(Infinity / n);  //Infinity被任意数字除,结果是Infinity或-Infinity
                                //符号由第二个操作数的符号决定
    console.log(Infinity / Infinity);  //返回NaN
    console.log(n / 0);  //0除一个非无穷大的数字,结果是Infinity或-Infinity,符号由第二个操作数的符号决定
    console.log(n / -0);  //返回-Infinity,解释同上

    求余运算符

    求余运算也称模运算例如:

    console.log(3 % 2);  //返回余数1

    模运算主要针对整数进行操作,也适用于浮点数。例如:

    console.log(3.1 % 2.3);  //返回余数0.8000000000000003

    示例

    注意特殊操作数的求余运算。

    var n = 5;  //定义并初始化任意一个数值
    console.log(Infinity % n);  //返回NaN
    console.log(Infinity % Infinity);  //返回NaN
    console.log(n % Infinity);  //返回5
    console.log(0 % n);  //返回0
    console.log(0 % Infinity);  //返回0
    console.log(n % 0);  //返回NaN
    console.log(Infinity % 0);  //返回NaN

    【相关推荐:javascript学习教程

    以上就是什么是javascript算术运算符的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    上一篇:javascript主要应用在哪些方面 下一篇:javascript是解释型还是编译型
    千万级数据并发解决方案

    相关文章推荐

    • JavaScript的函数是什么• javascript array怎么删除最后一个元素• Javascript中什么是数组• jquery是javascript吗• javascript主要应用在哪些方面
    1/1

    PHP中文网