类似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的算数,赋值,比较和逻辑运算符的更多相关文章

  1. ajax实现给JavaScript中全局变量赋值(转)

    原文地址:ajax实现给JavaScript中全局变量赋值 问题简化: <script type="text/javascript"> var a=1 ; functi ...

  2. JavaScript解构赋值

    JavaScript解构赋值 JavaScript解构赋值为我们提供了很多方便,但是用法比较多,本文就来梳理一下.总体来说,主要就两种地方使用解构赋值,一种是数组的解构赋值,另一种是对象的解构赋值.以 ...

  3. javascript对象引用与赋值

    avascript对象引用与赋值 <script type="text/javascript"> //例子一: 引用 var myArrayRef = new Arra ...

  4. JavaScript连等赋值

    最近探究js原理的过程中遇到了这个挺有趣的问题. 先贴代码: var a = {n:1} a.x = a = {n:2} alert(a.x) //undefined 在弄懂这个之前,我们先普及一个知 ...

  5. javascript给输入框赋值的一个误区

    一. 错误的示范 如下代码所示,如果需要用javascript获取id为username1, password1的输入框的值,将其写入id为username2, password2的输入框,那么红线区 ...

  6. javascript 连等赋值问题(这是从SegmentFault转过来的一个问题)

    var a = {n:1}; var b = a; // 持有a,以回查 a.x = a = {n:2}; alert(a.x);// --> undefined alert(b.x);// - ...

  7. JavaScript对象属性赋值操作的逻辑

    对象进行属性赋值操作时,其执行逻辑如下所示: 1. 当前对象中是否有该属性?有,进行赋值操作:没有,进行下一步判断. 2. 对象的原型链中是否有该属性?没有,在当前对象上创建该属性,并赋值:有,进行下 ...

  8. Javascript里的if判断与逻辑运算符(||, &&)和比较运算符的特别之处

    写JS时不可避免要用到 if 与 逻辑运算符( ||, &&). 如果你经常阅读Js的第三方组件源码, 会发现有一种写法作为初始化变量的方法经常出现. var variable = v ...

  9. javascript 连等赋值问题

    var a = {n:1}; var b = a; // 持有a,以回查 a.x = a = {n:2}; alert(a.x);// --> undefined alert(b.x);// - ...

随机推荐

  1. 【WPF学习】第十章 WPF布局示例

    前几章用了相当大的篇幅研究有关WPF布局容器的复杂内容.在掌握了这些基础知识后,就可以研究几个完整的布局示例.通过研究完整的布局示例,可更好的理解各种WPF布局概念在实际窗口中的工作方式. 一.列设置 ...

  2. influxdb的命令们

    InfluxDB是一个开源的时序数据库,使用GO语言开发,特别适合用于处理和分析资源监控数据这种时序相关数据.而InfluxDB自带的各种特殊函数如求标准差,随机取样数据,统计数据变化比等,使数据统计 ...

  3. 机器学习-Tensorflow之Tensor和Dataset学习

    好了,咱们今天终于进入了现阶段机器学习领域内最流行的一个框架啦——TensorFlow.对的,这款由谷歌开发的机器学习框架非常的简单易用并且得到了几乎所有主流的认可,谷歌为了推广它的这个框架甚至单独开 ...

  4. 深入浅出| java中的clone方法

    每天进步一丢丢,连接梦与想 我们还年轻,但这不是你浪费青春的理由 克隆和复制 clone,有人称之为克隆,有人称之为复制,其实都是同一个东西 本文称之为"克隆",毕竟人家方法名叫& ...

  5. 异想家Eclipse的偏好配置

    1.汉化 http://www.eclipse.org/babel/downloads.php 找到Babel Language Pack Zips,下面选自己版本点进去,找到如下类似的中文包: Ba ...

  6. jemeter察看结果树中文乱码解决办法

    在使用jemeter进行接口测试时,在察看结果树查看接口返回结果时,中文全部显示乱码,这个问题的解决方式如下: 在jemeter的安装路径下面,找到bin目录下, 在bin目录下面找到这个文件:jme ...

  7. Centos搭建PXE,安装部署操作系统

    centos系统搭建PXE网络安装centos+ubuntu+Windows Centos搭建PXE,安装部署操作系统 一 . 原理: 1.什么是PXE: PXE(Pre-boot Execution ...

  8. Redis(八):zset/zadd/zrange/zrembyscore 命令源码解析

    前面几篇文章,我们完全领略了redis的string,hash,list,set数据类型的实现方法,相信对redis已经不再神秘. 本篇我们将介绍redis的最后一种数据类型: zset 的相关实现. ...

  9. 数据结构与算法 --- js二分算法

    var arr = [-34, 1, 3, 4, 5, 8, 34, 45, 65, 87]; //递归方式 function binarySearch(data,dest,start,end ){ ...

  10. 【WPF学习】第二十六章 Application类——应用程序的生命周期

    在WPF中,应用程序会经历简单的生命周期.在应用程序启动后,将立即创建应用程序对象,在应用程序运行时触发各种应用程序事件,你可以选择监视其中的某些事件.最后,当释放应用程序对象时,应用程序将结束. 一 ...