JavaScript的算数,赋值,比较和逻辑运算符
类似a=1+1这样的表达式称为运算符,js的运算符分为算数,赋值,比较和逻辑运算符;常见的算数有:+ - * / %(加减乘除,取模),比方说5/4=4*1+1;5%4=1,js算数顺序:从左往右,先* / %后+ ;js的值包含数字,字符串,布尔值;在算数运算中,“加号”:有字符串,按照字符串处理,没有按照数字处理;注意布尔值false=0,true=1;比方来说:1+"a"="1"+"a"="1a" ; 1+false=1+0=1; false+"a"="falsea"; 1-"1"=1-1=0; 1-"a"=NaN (not a number)不是一个数;一元二元运算符,正负号代表正负值;减号,字符串可以转换成数字,默认为数字(chrome浏览器,f12控制台,console测试)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>javascript算数运算符</title>
</head>
<script>
//加号:有字符串按照字符串处理,没有按数字
// 1+"a"
// "1a"
// 1+false
// 1
// false+"a"
// "falsea"
// 1-"1"
// 0 //减号,字符串可以转成数字,默认数字
// 1-"a"
// NaN
// 1-"1"
// 0
// 1-"a"
NaN
</script>
<body> </body>
</html>
赋值运算符也可以叫做复合运算+ - * / %;var a=1;a=a+10;a+=10;a-=10;a=a-10;
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>赋值运算符</title>
<script>
var a=1;
// a=a+10;
//a+=10;
a-=10;
a=a-10;
console.log(a);
</script>
</head>
<body>
</body>
</html>
比较运算符 > < == === != >= <=相当于布尔值判断true还是false,注意==要求的值相等,而===要求的不光是值还有类型
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>比较运算符</title>
<script>
// a=1>2
// a=>false
// 0==false =>true
// 0===false =>false // 1>2
// false
// 0==false
// true
// 0===false
// false
// 1==true
// true
// 1===true
// false
</script>
</head>
<body>
</body>
</html>
逻辑运算符 || &&!“或” "与" “非”
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>逻辑运算符</title>
<script>
// && 布尔值&&布尔值=>布尔值
// || true||true=>true true||false=>true 有一个是真就是真 true
// !a a=true false
</script>
</head>
<body>
</body>
</html>
一元运算符++a 二元运算符a+b 一元运算符优先级高于二元运算符;++a,a先加,a++,a后加 ++自增1 --自减1
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>一元运算符二元运算符</title>
<script>
var a=1;
a++;//a=a+1
console.log(a);
a--;//a=a-1
console.log(a);
++a;//先自增
--a;//先自减
var a=1;
var b=++a+5;
=>a=++a=a+1
// b=a+5;
// a=1
// 1
// ++a
// 2
// a+5
// 7 var a=1;
var b=a++ +5;
=>var b=a+5;
a=a++=a+1
//先加加,后加加
// a=1
// 1
// a++
// 1
// a
// 2
// a=1
// 1
// ++a
// 2
</script>
</head>
<body>
</body>
</html>
JavaScript的算数,赋值,比较和逻辑运算符的更多相关文章
- ajax实现给JavaScript中全局变量赋值(转)
原文地址:ajax实现给JavaScript中全局变量赋值 问题简化: <script type="text/javascript"> var a=1 ; functi ...
- JavaScript解构赋值
JavaScript解构赋值 JavaScript解构赋值为我们提供了很多方便,但是用法比较多,本文就来梳理一下.总体来说,主要就两种地方使用解构赋值,一种是数组的解构赋值,另一种是对象的解构赋值.以 ...
- javascript对象引用与赋值
avascript对象引用与赋值 <script type="text/javascript"> //例子一: 引用 var myArrayRef = new Arra ...
- JavaScript连等赋值
最近探究js原理的过程中遇到了这个挺有趣的问题. 先贴代码: var a = {n:1} a.x = a = {n:2} alert(a.x) //undefined 在弄懂这个之前,我们先普及一个知 ...
- javascript给输入框赋值的一个误区
一. 错误的示范 如下代码所示,如果需要用javascript获取id为username1, password1的输入框的值,将其写入id为username2, password2的输入框,那么红线区 ...
- javascript 连等赋值问题(这是从SegmentFault转过来的一个问题)
var a = {n:1}; var b = a; // 持有a,以回查 a.x = a = {n:2}; alert(a.x);// --> undefined alert(b.x);// - ...
- JavaScript对象属性赋值操作的逻辑
对象进行属性赋值操作时,其执行逻辑如下所示: 1. 当前对象中是否有该属性?有,进行赋值操作:没有,进行下一步判断. 2. 对象的原型链中是否有该属性?没有,在当前对象上创建该属性,并赋值:有,进行下 ...
- Javascript里的if判断与逻辑运算符(||, &&)和比较运算符的特别之处
写JS时不可避免要用到 if 与 逻辑运算符( ||, &&). 如果你经常阅读Js的第三方组件源码, 会发现有一种写法作为初始化变量的方法经常出现. var variable = v ...
- javascript 连等赋值问题
var a = {n:1}; var b = a; // 持有a,以回查 a.x = a = {n:2}; alert(a.x);// --> undefined alert(b.x);// - ...
随机推荐
- [bzoj3991] [洛谷P3320] [SDOI2015] 寻宝游戏
Description 小B最近正在玩一个寻宝游戏,这个游戏的地图中有 \(N\) 个村庄和 \(N-1\) 条道路,并且任何两个村庄之间有且仅有一条路径可达.游戏开始时,玩家可以任意选择一个村庄,瞬 ...
- selenium,xpath路径中引入变量
比如,我需要获取每一条微博的阅读数,总不可能所有微博都找出xpath,然后获取阅读数 找规律 “//*[@id='Pl_Official_MyProfileFeed__20']/div/div[2]/ ...
- Dubbo入门到实战
前沿:在当下流行的分布式架构中Dubbo是非常流行的一门技术,借着这几天有空学习学习,并在后面的项目中进行实战,为后面的分布式项目做铺垫. Dubbox简介 Dubbox 是一个分布式服务框架,其前身 ...
- springboot中的那些连接池
hello~各位读者新年好! 回想起前几天在部署springboot项目到正线时,线上环境要求jdk7,可项目是基于jdk8开发的,springboot也是用的springboot2以上的版本,可以说 ...
- [集训]dance
题意 http://uoj.ac/problem/77 思考 显然能转化为最小割模型.若没有pi的代价,则对于第i个格子,可以让源点连向第i个点,容量为黑色收益,再连向汇点,容量为白色收益.再考虑pi ...
- AVLtree(C++实现)有统一的旋转操作
在学习完AVLtree之后,我发现,左旋,右旋均可以采用统一的旋转方式来实现,所以把代码贴在下面 代码是完整的AVLTree实现 C++标准为C++11 在ubuntu 18.04下通过编译和调试 / ...
- CSS-11-外边距
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- http轮询,长轮询
轮询,长轮询 轮询 轮询:客户端定时向服务器发送Ajax请求,服务器接到请求后马上返回响应信息并关闭连接. 优点:后端程序编写比较容易. 缺点:请求中有大半是无用,浪费带宽和服务器资源. 实例:适于小 ...
- SparkSQL 如何自定义函数
1. SparkSql如何自定义函数 2. 示例:Average 3. 类型安全的自定义函数 1. SparkSql如何自定义函数? spark中我们定义一个函数,需要继承 UserDefinedAg ...
- python之路:day2
本节内容 列表.元组操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码 1. 列表.元组操作 列表是我们最以后最常用的数据类型之一,通过列表可以对数据实现最方便的存储.修改等操作 定义列表 ...