js中整除符号_JavaScript的算术运算符
任何一种编程语言,都少不了算运算符,算术运算符就是进行 + – x ÷ 数学运算的。在编程语言里面,又延伸出来一些 自加、自减运算符。
算出来结果之后要把这个结果给别人,就需要赋值运算符=,这时又延伸出来一些+=、-=、*=、/=、%=。
下面通过一个表格来解释一下这些算术运算符:(初始 y=5 )
运算符
描述
例子
x 运算结果
y 运算结果
+
加法
x = y + 2
7
5
–
减法
x = y – 2
3
5
*
乘法
x = y * 2
10
5
/
除法
x = y / 2
2.5
5
%
取模(余数)
x = y % 2
1
5
++
自增
x = ++ y
6
6
x = y ++
5
6
—
自减
x = — y
4
4
x = y —
5
4
赋值运算符用于给 JavaScript 变量赋值。
给定 x=10和y=5,下面的表格解释了赋值运算符:
运算符
例子
等同于
运算结果
=
x = y
x = 5
+=
x += y
x = x + y
x = 15
-=
x -= y
x = x – y
x = 5
*=
x *= y
x = x * y
x = 50
/=
x /= y
x = x / y
x = 2
%=
x %= y
x = x % y
x = 0
下面详细说说各个操作符的用法和注意点。
加法 +
加法(+)运算的用法如下所示:
var result = 1 + 2;
console.log(result);//3
如果加法操作符两边都是数值,执行常规的加法运算,然后根据下列规则返回结果:
如果有一个操作数是NaN,则结果是NaN。
如果是Infinity加Infinity,则结果是Infinity。
如果是-Infinity加-Infinity,则结果是-Infinity。
如果是Infinity加-Infinity,则结果是NaN。
如果是+0加+0,则结果是+0。
如果是-0加-0,则结果是-0。
如果是+0加-0,则结果是+0。
下面实例考证:
var a = 1 + NaN;
var b = Infinity + Infinity;
var c = -Infinity + -Infinity;
var d = Infinity + -Infinity;
var e = +0 + +0;
var f = -0 + -0;
var g = +0 + -0;
console.log(a);// NaN
console.log(b);// Infinity
console.log(c);// -Infinity
console.log(d);// NaN
console.log(e);// 0
console.log(f);// -0
console.log(g);// 0
不过,如果有一个操作数是字符串,那么就应该遵循下列规则:
如果操作数都是字符串,则将第一个操作数和第二个操作数拼接起来。
如果只有一个操作数是字符串,则将另一个操作数转化为字符串,然后再将两个恶字符串拼接起来。
如果有一个操作数对象、数值或布尔值,则调用它们的toString()方法取得相应的字符串值,然后再应用前面字符串的规制。对于null和undefined,分别调用String()方法取得字符串”undefined”和”null”。
举个例子:
var result = 5 + 5;//两个数值相加
console.log(result);//10
var result1 = 5 + "5";//一个数值和一个字符串进行加法运算
console.log(result1);//"55"
var b = null;
var a = '5' + b;
console.log(a);//5null: null转成字符串后就是null
var b = undefined;
var a = '5' + b;
console.log(a);//5undefined:undefined转成字符串就是undefined
减法
减法运算(-)用法如下所示:
var a = 2 - 1;
console.log(a);//1
与加法操作符类似,JavaScript中的减法在处理个种数据的时候,同样遵循一些特殊规则:
如果减法操作符两边都是数值,执行常规的减法运算
如果有一个操作数是NaN,则结果是NaN。
如果是Infinity减Infinity,则结果是NaN。
如果是-Infinity减-Infinity,则结果是NaN。
如果是Infinity减-Infinity,则结果是Infinity。
如果是-Infinity减Infinity,则结果是-Infinity。
如果是+0减+0,则结果是+0。
如果是-0减-0,则结果是+0。
如果是-0减+0,则结果是-0。
如果一个字符串是字符串、布尔值、null或undefined,则现在后台调用Number()函数将其转换为数值,然后再根据上面的规则进行减法运算。如果调用Number()函数转换的结果是NaN,则运算的结果是NaN。
如果有一个操作数是对象,则调用valueOf()方法取得该对象的数值,如果得到的值是NaN,则减法运算的结果就是NaN,如果对象没有valueOf方法,则调用toString()方法并将得到的字符串转换为数值。
举个例子:
var result1 = 5 - true;
var result2 = NaN - 1;
var result3 = 5 - 3;
var result4 = 5 - "";
var result5 = 5 - "2";
var result6 = 5 - null;
console.log(result1);//4,因为true转换为1
console.log(result2);//NaN
console.log(result3);//2
console.log(result4);//5,因为""被转换为0
console.log(result5);//3,因为"2"被转换为2
console.log(result6);//5,因为null被转换为0
乘法
乘法运算(*)用法如下所示:
var result = 3 * 5;
console.log(result);// 15
在处理特殊值的情况下,乘法遵循下列规则:
如果操作的数都是数值,执行常规的乘法运算
如果有一个操作数是NaN,则结果是NaN
如果是Infinity与0相乘,则结果是NaN
如果是Infinity与非0数相乘,则结果是Infinity或-Infinity,取决于有符号操作数的符号
如果Infinity与Infinity相乘,则结果为Infinity
如果有一个操作数不是数值,则在后台调用Number()函数将其转换为数值
通过代码来说明,印象会更深:
var a = 5 * 5;
var b = 5 * '5';
var c = 5 * NaN;
var d = Infinity * 5;
var e = Infinity * -5;
var f = Infinity * Infinity;
var g = Number('56');
var h = Number('55a');
var m = parseInt('55a');
console.log(a); //25
console.log(b); //25
console.log(c); //NaN
console.log(d); //Infinity
console.log(e); //-Infinity
console.log(f); //Infinity
console.log(g); //5
console.log(h); //NaN:字母不能转换成数字,所以是NaN
console.log(m);//55
除法
除法操作符(/)用法如下所示:
var result = 15 / 3;
console.log(result); //5
除法与乘法类似,也有特殊的处理规则:
如果操作的数都是数值,执行常规的除法运算
如果有一个操作数是NaN,则结果是NaN
如果是0与0相除,则结果是NaN
如果是非0有限数被0除,则结果是Infinity或-Infinity,取决于有符号操作数的符号
如果Infinity与Infinity相除,则结果为NaN
如果有一个操作数不是数值,则在后台调用Number()函数将其转换为数值
取余(求模)
取余运算用法如下所示:
var result = 10 % 3;
console.log(result); //1
取余与乘除类似,有以下特殊规则来处理特殊的值:
如果操作的数都是数值,执行常规的除法运算。返回除得的余数
如果被除数是无穷大值,而除数是有限大的值,则结果是
如果被除数是有限大的值,而除数是0,则结果是NaN
如果Infinity被Infinity除,则结果是NaN
如果被除数是有限大的值而除数是无穷大的值,则结果是被除数
如果除数是零,则结果是零
如果有一个操作数不是数值,则在后台调用Number()函数将其转换为数值
在进行算术运算的时候,变量数据是可以根据需要转换类型的。有几个特殊的数据类型:
NaN:Not a Number,他是number类型,翻译成中文就是非数,非数也是数字类型。NaN值是JS在执行数字运算或者数字类型转换时失败的结果值。
Infinity: 这个也是number类型,翻译成中午是无限大的意思。
注意:在进行算术运算的时候,js会调用Number()进行隐式类型转换,这个函数和 parseInt()有不同的规则,可以参考:
js中整除符号_JavaScript的算术运算符相关推荐
- js中整除符号,JavaScript 语法:运算符号
作者:WangMin 格言:努力做好自己喜欢的每一件事 JavaScript要进行各种各样的运算,就要使用不同的运算符号. JavaScript 算数运算符 算数运算符用于对数字执行算数运算,分别有以 ...
- python表示整除的符号_c语言中整除符号怎么表示?_后端开发
c语言fun函数有什么例题?_后端开发 c语言fun函数例题有:1.fun函数表示计算x的y次幂,代码为[for(int i=1;i<=y;i++)result*=x]:2.fun函数交换两个指 ...
- JS中的逻辑运算符、||,位运算符|,
JS中的逻辑运算符&&.||,位运算符|,& 1.JS中的||符号: 运算方法: 只要"||"前面为false,不管"||"后面是tru ...
- 归纳总结MATLAB中与矩阵运算有关的算术运算符(加、减、乘、除、点乘、点除、乘方、转置等)
运算是算法的基础,所以我们有必要了解我们使用的工具怎样实现矩阵的基本运算. 这篇博文总结MATLAB中矩阵的算术运算符. 目录 01-加法运算符"+" 02-减法(相反数)运算符& ...
- java和Js中的类型转换_JavaScript 类型转换
原标题:JavaScript 类型转换 Number() 转换为数字, String() 转换为字符串, Boolean() 转化为布尔值. Java 数据类型 在 Java 中有 5 种不同的数据类 ...
- 在C/C++中整除符号和初始化数值应该注意细节
对于整除如果用来作为控制来用如:控制行,控制列等.在每次整除后最好要加+1防止有遗失行从而出现错误; 数值初始化时尽量赋值为-10000用非常离谱值去赋值,从而更容易发现一些错误
- js中every用法_Javascript Array.every()方法
JavaScript 数组中的每个方法测试数组中的所有元素是否经过所提供的函数来实现测试. 语法 array.every(callback[, thisObject]); 下面是参数的详细信息: ca ...
- js中双感叹号_JavaScript中双叹号(!!)作用
经常看到这样的例子: vara:var b=!!a; a默认是undefined.!a是true,!!a则是false,所以b的值是false,而不再是undefined,也非其它值,主要是为后续判断 ...
- js中双感叹号_JavaScript中双叹号!!作用示例介绍
!!一般用来将后面的表达式强制转换为布尔类型的数据(boolean),也就是只能是true或者false; 经常看到这样的例子: var a: var b=!!a; a默认是undefined.!a是 ...
最新文章
- kettle环境变量/kettle.properties的配置问题
- 应用篇——SSL/TLS
- Java培训教程之使用Jsoup实现简单的爬虫技术
- C++Bitonic Sort双调排序/比并排序的实现算法(附完整源码)
- 计算机网络概述(一)
- 2K分辨率下1070TI更换2080S能有多大提升,值得换吗?
- Atitit 设计模式之道 艾提拉著 sbb 目录 1. 一、设计模式的分类	1 1.1. 总体来说设计模式分为三大类:	1 1.2. 创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建
- 苹果计算机显示错误怎么按,教你解决苹果电脑装windows7提示磁盘分区错误的方法...
- appfuse mysql_Appfuse:起步
- Golang 中map与GC“纠缠不清”的关系
- 服务器上qq邮件不能打开方式,qq邮箱打不开解决方法汇总
- 易语言开发的cnzz站长统计留痕软件,成品原理源码分享
- 单像空间后方交会编程实现
- 教孩子学编程python豆瓣_教孩子学编程 Python
- [投资理念]沃伦-巴菲特的12条忠告
- PHP实现 网页图片上传
- 计算机网络(6)-----无线网络和移动网络
- 基于matlab的跳频系统的仿真,基于MATLAB的跳频扩频通信系统的仿真研究
- 博客园的最后一篇博文,还是要离开了(附带个人博客源码分享)
- Error response from daemon: conflict: unable to delete 4f2bb6112fd7 (must be forced) - image is refe
热门文章
- XAPP1052理解
- js中写文档write和innerHTML的区别
- 最短路径之Floyd(弗洛伊德)算法,以及显示完整路径
- 全国计算机二级考试对选择题有要求吗,全国计算机二级考试攻略
- matlab差商chaS,牛顿插值MATLAB算法.doc
- 已知函数fx=sin(wx+φ)_考点13 y=sin(wx+φ)的图像与性质(解析版)
- 【XSY3657】因数分解(容斥,DP)
- 2020年396分上岸湖南大学计算机专硕考研经验分享
- MTK9652处理器怎么样
- SQL Server 2012笔记分享-35:配置客户端网络协议