资讯专栏INFORMATION COLUMN

运算符 算数

史占广 / 1258人阅读

摘要:余数运算符正负看第一位所以,为了得到负数的正确余数值,可以先使用绝对值函数。等同于等同于等同于等同于等同于等同于这些复合的赋值运算符,都是先进行指定运算,然后将得到值返回给左边的变量。

1.概述
2.加法运算符
2.1基本规则
2.2对象的相加
3.余数运算符% 正负看第一个运算字 可以用绝对值函数
4.自增和自减运算符++ -- ++x 2 y++1
5.数值运算符,负数值运算符+ - 作用是转为数值number一样
6.指数运算符 232 512先算了32
7.赋值运算符=

除了加法 其他都转为数值在运算
1.概述

加法运算符:x + y
减法运算符: x - y
乘法运算符: x * y
除法运算符:x / y
指数运算符:x ** y
余数运算符:x % y
自增运算符:++x 或者 x++
自减运算符:--x 或者 x--
数值运算符: +x
负数值运算符:-x

2.加法运算符

加法运算符是在运行时决定,到底是执行相加,还是执行连接。也就是说,运算子的不同,导致了不同的语法行为,这种现象称为“重载”(overload)

由于加法运算符存在重载,可能执行两种运算,使用的时候必须很小心。

"3" + 4 + 5 // "345"
3 + 4 + "5" // "75"

上面代码中,由于从左到右的运算次序,字符串的位置不同会导致不同的结果

2.2对象的相加
运算子是对象,必须先转成原始类型的值,然后再相加。

对象转成原始类型的值,规则如下。

首先,自动调用对象的valueOf方法。

var obj = { p: 1 };
obj.valueOf() // { p: 1 }
一般来说,对象的valueOf方法总是返回对象自身,这时再自动调用对象的toString方法,将其转为字符串。

var obj = { p: 1 };
obj.valueOf().toString() // "[object Object]"
对象的toString方法默认返回[object Object],所以就得到了最前面那个例子的结果。

知道了这个规则以后,就可以自己定义valueOf方法或toString方法,得到想要的结果。

var obj = {
valueOf: function () {

return 1;

}
};

obj + 2 // 3

这里有一个特例,如果运算子是一个Date对象的实例,那么会优先执行toString方法。

var obj = new Date();
obj.valueOf = function () { return 1 };
obj.toString = function () { return "hello" };

obj + 2 // "hello2"

3.余数运算符% 正负看第一位

所以,为了得到负数的正确余数值,可以先使用绝对值函数。

// 错误的写法
function isOdd(n) {
return n % 2 === 1;
}
isOdd(-5) // false
isOdd(-4) // false

// 正确的写法
function isOdd(n) {
return Math.abs(n % 2) === 1;
}
isOdd(-5) // true
isOdd(-4) // false

4.自增和自减运算符++ -- ++x 2 y++1
5.数值运算符,负数值运算符+ - 作用是转为数值number一样

数值运算符的作用在于可以将任何值转为数值

+true // 1
+[] // 0
+{} // NaN

var x = 1;
-x // -1
-(-x) // 1

6.指数运算符 232 512先算了32
7.赋值运算符=

// 等同于 x = x + y
x += y

// 等同于 x = x - y
x -= y

// 等同于 x = x * y
x *= y

// 等同于 x = x / y
x /= y

// 等同于 x = x % y
x %= y

// 等同于 x = x ** y
x **= y
下面是与位运算符的结合(关于位运算符,请见后文的介绍)。

// 等同于 x = x >> y
x >>= y

// 等同于 x = x << y
x <<= y

// 等同于 x = x >>> y
x >>>= y

// 等同于 x = x & y
x &= y

// 等同于 x = x | y
x |= y

// 等同于 x = x ^ y
x ^= y
这些复合的赋值运算符,都是先进行指定运算,然后将得到值返回给左边的变量。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/106046.html

相关文章

  • python入门到实践-计算机算数

    摘要:作为一个北漂族,梦寐以求的就是在北京拥有自己的一套房子,当然放假大家可想而知。 数值运算 只要你读过小学肯定多多稍稍听过数值运算的概念,白话讲就是算术,那么计算机会算术早已家喻户晓了,Python进行算术也是非常简单的,我们通过输入以下数值运算就可以算出对应结果[命令行操作]: >>> 1 + 1 # 加法运算;结果为: 2 >>> 10 - 10 # 减法运算;结果为...

    entner 评论0 收藏0
  • Python标准数据类型-数字

    Python内置了整数、复数、浮点数三种数字类型。 整数 整数是没有小数部分的数值,与数学上的一样: >>> 1 1 >>> -1 -1 整数没有大小限制,只要你的内存足够大,就可以创建任意大小的整数: >>> 1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111...

    svtter 评论0 收藏0
  • JavaScript-算数算符

    摘要:浮点数运算余数运算符还可以用于浮点数的运算。这些语言中的幂运算符有着比其他的单目运算符如一元或一元更高的优先级。但是作为例外,在中,运算符被设计为比单目运算符优先级更低。 一、算术运算符 运算符 描述 例子 x 运算结果 y 运算结果 + 加法 x=y+2 7 5 - 减法 x=y-2 3 5 * 乘法 x=y*2 10 5 / 除法 x=y/2 2.5 5 ...

    lindroid 评论0 收藏0
  • 浅谈javaScript各大算符

    摘要:除法大前端数字类型与字符串除法运算,同样会先将字符串转为数字类型再做算术运算,同样与布尔类型做算术运算,也是先把布尔类型转换为数字类型再做算术运算,但是遇到字符串里包含有英文或者中文将会得到结果。 算数运算符 包含+、-、*、/、%,下面通过代码示例来给大家进行演示一下;加法: var num=100; var str1=大前端; var str2=300; var boo=true;...

    lykops 评论0 收藏0
  • 1、变量 2、算符

    摘要:位置的使用运算符后置时,先使用变量原有值参与运算操作,运算操作完成后,变量的值自增或者自减,运算符前置时,先将变量的值自增或者自减,然后使用更新后的新值参与运算操作。 1.JRE:是Java语言的运行环境,它包含了Java虚拟机,也就是JVM,同时还包含了Java语言运行需要的核心类库。对于这个类库,大家先理解为资料库就行,后面学完面向对象,你就明白了。JDK:是Java语言的开发工具...

    betacat 评论0 收藏0

发表评论

0条评论

史占广

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<