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);// - ...
随机推荐
- 创建自定义路由处理程序(Creating a Custom Route Handler) | 定制路由系统| 高级路由特性 |精通ASP-NET-MVC-5-弗瑞曼
自定义实现 IRouteHandler
- pc端的弹性布局适配方案
方案及原理:使用rem单位,通过window.onresize来监听浏览器窗口,获取窗口宽度,并改变跟字体大小来达到弹性适配效果. function adaptor(){ //为了便于计算,这里以19 ...
- 异想家Win10常用的软件推荐
本文总结一下自己日常使用Win10中涉及到的好用小软件,那些装机必备的软件在这里就不一一列出了.我重点想推荐一些自己觉得好用,符合自己偏好,但又不是每个人都知道的小工具: Rolan:一款类似于Win ...
- Vue+elementUI 自定义动态数据菜单导航组件实现展开收缩+路由跳转router-view渲染数据 路由跳转到同一个页面带参数ID 自动刷新数据
准备:导入ElementUI 看官网教程 数据准备:JSON数据转换成树状 参考文章: JS实现 JSON扁平数据转换树状数据 后台我拿的数据是这样的格式: [ {id:1 , parentId: 0 ...
- rtmp协议规范
译序: 本文是为截至发稿时止最新 Adobe 官方公布的 RTMP 规范.本文包含 RTMP 规范的全部内容.是第一个比较全面的 RTMP 规范的中译本.由于成文时间仓促,加上作者知识面所限,翻译错误 ...
- ArrayList与LinkedList比较
ArrayList与LinkedList比较 1.实现方式 ArrayList内部结构为数组,定义如下: /** * The array buffer into which the elements ...
- JVM性能分析 | 一次生产系统Full GC问题分析与排查总结
一次生产系统Full GC问题分析与排查总结 背景 最近某线上业务系统生产环境频频CPU使用率过低,频繁告警,通过重启可以缓解,但是过了一段时间又会继续预警,线上两个服务节点相继出现CPU资源紧张,导 ...
- Dwz/Jquery--使用Ajax提交表单时调用表单设置的校验
案例 今天有一个需求就是点击按钮时,使用ajax方式提交表单,而且不是直接用form表单下的submit按钮提交,表单中用的校验是dwz 自带的校验方式,表单模板如下: <li><d ...
- socket实现文件上传(客户端向服务器端上传照片示例)
本示例在对socket有了基本了解之后,可以实现基本的文件上传.首先先介绍一下目录结构,server_data文件夹是用来存放客户端上传的文件,client_data是模拟客户端文件夹(目的是为了测试 ...
- 独立磁盘冗余阵列-RAID
一.RAID概述 RAID(Redundant Array of Independent Disks)即独立冗余磁盘阵列 磁盘阵列就是.由很多块廉价磁盘 组成的一个容量巨大的卷组.然后在使用不同级别的 ...