作者:WangMin

格言:努力做好自己喜欢的每一件事

JavaScript要进行各种各样的运算,就要使用不同的运算符号。

JavaScript 算数运算符

算数运算符用于对数字执行算数运算,分别有以下几种:

运算符 描述
+ 加法
- 减法
* 乘法
/ 除法
% 系数
++ 递加
-- 递减

1、+、-、*、/ 这四种算数运算符跟数学中的运算方式是一致的,如下:

var a=5+2;
var b=6-3;
var c=9*2;
var d=10/2;
console.log(a,b,c,d);//7 3 18 5

对于运算符 + 需要注意的是:

  • 对非Number(字符串除外)的值进行加运算时会先将其转换成Number型在运算,注意任何值和NaN运算都是NaN,案例如下:
var a=1+null;
var b=1+NaN;
var c=true+false;
var d=true+4;
console.log(a,b,c,d);//1 NaN 1 5
  • 对于含有字符串类型的相加运算则看成连字符,将左右两边连接起来组成一个字符串,从左向右连接,案例如下:
var a=5+'你好,明天';
console.log(a);//5你好,明天

注意:任何数据和 “字符串”相加都会连接到一起转换为字符串。

对于运算符 - 需要注意的是:

  • 对非Number的值进行减运算时会先将其转换成Number型在运算,注意任何值和NaN运算都是NaN,案例如下:
var a=5-'2';
var b=1-0;
var c=6-true;
var d=true-false;
var e=1-'ni';
console.log(a,b,c,d,e);//3 1 5 1 NaN

2、"%" 取余运算符,两个数相除,不是数学中的除号是取余,就是取运算的余数,所得的结果为余数。如果余数为0,则两个数能除尽;如果余数不为0,则两个不能整除。案例如下:

var a=6%5;
console.log(a);//1
var b=10%5;
console.log(b);//0

3、"++" 加1运算符、自增1。

1)"++"作前缀(++i)时,例如:

var a=2,b;
b=++a;
console.log(a,b);//3,3

输出结果是a=3,b=3,我们可以看出前置++(++i)是先加1在使用

2)作为后缀(i++)时,例如

var a=2,b;
b=a++;
console.log(a,b);//3,2

输出结果是a=3,b=2,我们可以看出后置++(i++)是先使用再加1

4、"--"减1运算符,自减1(情况与运算符 "++" 差不多)

1)"--"作前缀(--i)时,例如:

var a=2,b;
b=--a;
console.log(a,b);//1,1

输出结果是a=1,b=1,我们可以看出前置--(--i)是先减1在使用

2)作为后缀(i--)时,例如

var a=2,b;
b=a--;
console.log(a,b);//1,2

输出结果是a=1,b=2,我们可以看出后置--(i--)是先使用再减1

JavaScript 赋值运算符

赋值运算符向 JavaScript 变量赋值。分别有以下几种:

运算符 例子 等同于
= x = y 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
以上为变量表达式的几种简写方式。例如:
var a=2;
a+=2;
console.log(a);//4

根据上面提供的赋值运算符,我们还可以将上面的例子写为如下格式,效果一致,如下:

var a=2;
a=a+2;
console.log(a);//4

我们常用的变量表达式为第一种简写方式,这样的好处是代码执行性能好。其他几种赋值运算符和上面的例子是一个道理。

JavaScript 比较运算符

比较运算符的运算结果是布尔值(true或false)。

运算符 描述
== 等于
=== 等值等型
!= 不相等
!== 不等值或不等型
> 大于
< 小于
>= 大于或等于
<= 小于或等于
? 三元运算符
1、">"、"<"、">="、"<=" 判断两个值之间的大小关系

通过关系运算符可以判断两个值之间的大小关系,如果关系成立则返回true如果关系不成立则返回false。对于非数值比较时会先转换成数字(数值型)在比较。任何值和NaN比较都返回false。特别注意如果两边都是字符串,则是按照字符编码进行比较。案例如下:

var a=5>4;
console.log(a);//true
var b=5<4;
console.log(b);//false
var c=5>true;
console.log(c);//true
var d=5>null;
console.log(d);//true
var e=5>NaN;
console.log(e);//false
var a1=5>=4;
console.log(a1);//true
var b1=5<=4;
console.log(b1);//false
var d1=5>=false;
console.log(d1);//true
var e1=5<=NaN;
console.log(e1);//false
var a2=5>"hello";
console.log(a2);//false
var d2="11"<"5";
console.log(d2);//true

2、== 等于、!= 不等于、=== 全等、!== 不全等

1)"==" 等于:只比较两个变量的值,而不管其数据类型。只要值一样,就返回true,否则返回false。例子如下:

var a=2=="2";
console.log(a);//true
var b=2=="10";
console.log(b);//false
var c=2==true;
console.log(c);//false
var d="2"=="2";
console.log(d);//true
var a1=null==undefined;
console.log(a1);//true

2)!= 不等于 与 == 等于一致。例子如下:

var a=2!="2";
console.log(a);//false
var b=2!="10";
console.log(b);//true
var c=2!=true;
console.log(c);//true
var d="2"!="2";
console.log(d);//false
var a1=null!=undefined;
console.log(a1);//false

3) "===" 全等于。既比较变量,也判断其数据类型。如果类型和值都一样,返回true,否则返回false。例子如下:

var a=2==="2";
console.log(a);//false
var b=2==="10";
console.log(b);//false
var c=2===true;
console.log(c);//false
var d="2"==="2";
console.log(d);//true
var a1=null===undefined;
console.log(a1);//false

4)!== 不全等与 === 全等一致。例子如下:

var a=2!=="2";
console.log(a);//true
var b=2!=="10";
console.log(b);//true
var c=2!==true;
console.log(c);//true
var d="2"!=="2";
console.log(d);//false
var a1=null!==undefined;
console.log(a1);//true

注意:NaN不和任何值相等包括它自己。

3、"?" 三元运算符

格式:条件表达式 ?语句1:语句2;

执行流程:先算条件表达式,若条件表达式为真则执行语句1,并返回执行结果。如果条件表达式为假false,则执行语句2,并返回执行结果。如果条件表达式的值是非布尔值则会转换成布尔值。案例如下:

var a=20,b=10;
var c=a>b?a:b;
console.log(c);

注意: 其实三元运算符,就是if else的变形形式。

JavaScript 逻辑运算符

逻辑运算符的运算结果有两个true或false。

运算符 描述
&& 逻辑与
|| 逻辑或
! 逻辑非

1)"&&" 逻辑与(并且关系)。如果左右两个操作数都为true,就是两个条件同时满足时,则结果为true,否则,结果为false。案例如下:

var a=true&&false;
console.log(a);//false
var b=1<2&&2<3;
console.log(b);//true

逻辑&&运算如果两个条件都为true则输出结果是第二个条件的结果,如果第一个是false则输出结果是第一个条件的结果。案例如下:

var a=1&&2;
console.log(a);//2 var b=0&&2;
console.log(b);//0

2)"||" 逻辑或。左右两个条件,只要有一个满足,则返回true,否则,返回false。案例如下:

var a=true||false;
console.log(a);//true
var b=1<2||2<3;
console.log(b);//true

逻辑||运算如果第一个是true则输出结果是第一个条件的结果,如果第一个是false则输出是第二个条件的结果。案例如下:

var a=3||2;
console.log(a);//3 var a=0||2;
console.log(a);//2

3)"!" 取反运算。当条件为真,在条件前面添加"!",此时整体就为假了,案例如下:

var a=!true;
console.log(a);//false
var b=!100;
console.log(b);//false

以上仅是个人见解,若有不足之处欢迎在下方评论指出,那就先分享到这里!! 后续继续更新!!

JavaScript 语法:运算符号的更多相关文章

  1. Javascript语法基础

    Javascript语法基础   一.基本数据类型   JavaScript中支持数字.字符串和布尔值三种基本数据类型: 1.数字 数字型是JavaScript中的基本数据类型.在JavaScript ...

  2. JavaScript(二):JavaScript语法及数据类型

    一.JavaScript语法 1.区分大小写ECMAScript中的一切,包括变量.函数名和操作符都是区分大小写的.例如:text和Text表示两种不同的变量.2.标识符所谓标识符,就是指变量.函数. ...

  3. JavaScript 位运算总结&拾遗

    最近补充了一些位运算的知识,深感位运算的博大精深,此文作为这个系列的总结篇,在此回顾下所学的位运算知识和应用,同时也补充下前文中没有提到的一些位运算知识. 把一个数变为大于等于该数的最小的2的幂 一个 ...

  4. javascript语法详解

    javascript语法:运算符 条件语句if...else...  条件语句switch  循环语句for  循环语句while   跳转语句 js运算符 1.算数运算符:+ - * % / ++ ...

  5. 第九十八节,JavaScript语法、关键保留字及变量

    JavaScript语法.关键保留字及变量 学习要点: 1.语法构成 2.关键字保留字 3.变量 任何语言的核心都必然会描述这门语言最基本的工作原理.而JavaScript的语言核心就是ECMAScr ...

  6. JavaScript DOM 编程艺术(1)---> JavaScript语法

    一.  JavaScript语法目录 语法 操作 条件语句 循环语句 函数 对象 二.  具体内容 2.1 语法 javaScript代码要通过HTML/XHTML文档才能执行.可以有两种方式完成这一 ...

  7. JavaScript语法详解:JS简介&变量

    本文最初发表于博客园,并在GitHub上持续更新前端的系列文章.欢迎在GitHub上关注我,一起入门和进阶前端. 以下是正文. JavaScript简介 Web前端有三层: HTML:从语义的角度,描 ...

  8. (网页)12种不宜使用的Javascript语法(转)

    转自阮一峰: 最近写的一些小东西,总是出各种各样的问题,用了angular.js反应居然比我的jQuery还慢,客户吐槽了,我又把一个小操作,改成了jQuery.浏览一下大神的的博客.转载一点东西: ...

  9. 一张图彻底搞懂JavaScript的==运算

    一张图彻底搞懂JavaScript的==运算 来源 https://zhuanlan.zhihu.com/p/21650547 PS:最后,把图改了一下,仅供娱乐 : ) 大家知道,==是JavaSc ...

  10. JavaScript DOM 编程艺术 ---> JavaScript语法

    二.  JavaScript语法目录 2.1 语法 javaScript代码要通过HTML/XHTML文档才能执行.可以有两种方式完成这一点,第一种是将JavaScript代码放到文档<head ...

随机推荐

  1. 【MAUI Blazor踩坑日记】1.关于图标的处理

    前言 本系列文章,默认你已经踏上了MAUI Blazor的贼船,并且对MAUI Blazor有了一些了解,知道MAUI是什么,知道Blazor是什么. 不会教你怎么写MAUI Blazor的项目,只是 ...

  2. 模型部署 — PaddleNLP 基于 Paddle Serving 快速使用(服务化部署 - Docker)— 图像识别 + 信息抽取(UIE-X)

    目录 流程 版本 安装 Docker 安装 PaddleNLP 安装 环境准备 模型准备 压缩模型 下载模型 模型部署 环境配置 启动服务 测试 -- 暂时还没通过 重启 图像识别 + 信息抽取(UI ...

  3. Linux 概念:存储

    块存储 (略) 文件存储 基于文件系统的本地文件存储: 基于网络的共享文件存储:NFS.Samba.Windows文件共享: 基于网络的分布式文件存储:HDFS... 对象存储 一种Key(对象ID) ...

  4. 【hack】浅浅说说自己构造hack的一些逻辑~

    怎么说呢,相信很多考过竞赛的同学都会在平时的练习/考试中遭遇过100分但没有AC的情况,结果一看评测结果:subtask的数据点没过! 这时候就是遇到hack数据了,如果被这类数据卡住,说明你的代码可 ...

  5. 华为ensp配置静态路由,三路由,三pc

    华为ensp配置静态路由 目的:使pc1,pc2,pc3能相互ping通 1,tuop图的搭建 1,如图所示:先搭建好设备的通讯关系,在标记好每台设备对应的,ip地址和网关. 2,pc的网关,与ip地 ...

  6. 快速入门OpenCv(python版)

    OpenCV是一个(开源)发行的跨平台计算机视觉库,可以运行在Linux.Windows和Mac OS操作系统上.它轻量级而且高效--由一系列 C 函数和少量 C++ 类构成,同时提供了Python. ...

  7. 超详细的mysql总结(DQL)

    上一篇文章总结了 DDL.DML的使用,这一篇文章把剩下的 DQL 加上~   DQL(Data Query Language)即数据库查询语言,用来查询所需要的信息,在查询的过程中,需要判断所查询的 ...

  8. DDD 架构分层,MQ消息要放到那一层处理?

    作者:小傅哥 博客:https://bugstack.cn 沉淀.分享.成长,让自己和他人都能有所收获! 本文的宗旨在于通过简单干净实践的方式教会读者,使用 Docker 配置 RocketMQ 并在 ...

  9. C#系统锁屏事件例子 - 开源研究系列文章

    今天有个网友问了个关于操作系统锁屏的问题. 我们知道,操作系统是基于消息和事件处理的,所以我们只要找到该操作系统锁屏和解屏的那个事件,然后在事件里进行处理即可.下面是例子介绍. 1. 项目目录: 下面 ...

  10. 深入探讨安全验证:OAuth2.0、Cookie与Session、JWT令牌、SSO与开放授权平台设计

    什么是认证和授权?如何设计一个权限认证框架? 认证和授权是安全验证中的两个重要概念.认证是确认身份的过程,用于建立双方之间的信任关系.只有在认证成功的情况下,双方才可以进行后续的授权操作.授权则是在认 ...