JavaScript 运算符主要包括:

  1. 算术运算符
  2. 赋值运算符
  3. 比较运算符
  4. 三元运算符
  5. 逻辑运算符
  6. 字符串连接运算符
运算符 说明 例子 运算结果
+ y = 2+1 y = 3
- y = 2-1 y = 1
* y = 2*3 y = 6
/ 除,返回结果为浮点类型 y = 6/3 y = 2
% 求余,返回结果为浮点类型
要求两个操作数均为整数
y = 6%4 y = 2
++ 递加,分为前加和后加
对布尔值和 NULL 将无效
y = 2
++y(前加)
y++(后加)
y = 3
-- 递减,分为前递减和后递减
对布尔值和 NULL 将无效
y = 2
--y(前减)
y--(后减)
y = 1

对于前加和后加,执行后的结果都是变量加1,其区别在于执行时返回结果不一样,参考下面两个例子:

var x = 2;
alert(++x); //输出:3
alert(x); //输出:3
var y = 2;
alert(y++); //输出:2
alert(y); //输出:3

递减同理。

赋值运算符

赋值运算符 = 用于赋值运算,赋值运算符的作用在于把右边的值赋值给左边变量。设定 y = 6,参见下表:

运算符 例子 等价于 运算结果
= y = 6 y = 6
+= y += 1 y = y+1 y = 7
-= y -= 1 y = y-1 y = 5
*= y *= 2 y = y*2 y = 12
/= y /= 2 y = y/2 y = 3
%= y %= 4 y = y%4 y = 2

赋值运算嵌套使用

赋值运算符可以嵌套使用:

y = (x = 2) + 5;    //结果: x=2,y=7

比较运算符

运算符 说明 例子 运算结果
== 等于 2 == 3 FALSE
=== 恒等于(值和类型都要做比较) 2 === 2
2 === "2"
TRUE
FALSE
!= 不等于,也可写作<> 2 == 3 TRUE
> 大于 2 > 3 FALSE
< 小于 2 < 3 TRUE
>= 大于等于 2 >= 3 FALSE
<= 小于等于 2 <= 3 TRUE

比较运算符也可用于字符串比较。

三元运算符

三元可以视作是特殊的比较运算符:

(expr1) ? (expr2) : (expr3)

语法解释:在 expr1 求值为 TRUE 时整个表达式的值为 expr2,否则为 expr3。

例子:

x = 2;
y = (x == 2) ? x : 1;
alert(y); //输出:2

该例子判断 x 的值是否等于 2,如果 x 等于 2,那么 y 的值就等于 x(也就是等于2),反之 y 就等于 1。

提示

为了避免错误,将三元运算符各表达式用括号括起来是个不错的主意。

逻辑运算符

运算符 说明 例子 运算结果
&& 逻辑与(and) x = 2;
y = 6;
x && y > 5
FALSE
|| 逻辑或(or) x = 2;
y = 6;
x && y > 5
TRUE
! 逻辑非,取逻辑的反面 x = 2;
y = 6;
!(x > y)
TRUE

字符串连接运算符

连接运算符 + 主要用于连接两个字符串或字符串变量。因此,在对字符串或字符串变量使用该运算符时,并不是对它们做加法计算。

例子:

x = "beijing";
y = x + "你好!"; //结果:y = "beijing你好!"
// 要想在两个字符串之间增加空格,需要把空格插入一个字符串之中:
y = x + " 你好!"; //结果:y = "beijing 你好!"

当对字符串和数字做连接(加法)运算时,会将数字先转换成字符串再连接(相加):

x = 25;
y = "我今年" + x + "岁"; //结果:y = "我今年25岁"

最新文章

  1. PayPal网站付款标准版(for PHP)
  2. HTML5自学笔记[ 8 ]历史管理
  3. JS 原型继承的几种方法
  4. Android自定义radiobutton(文字靠左,选框靠右)
  5. Jersey(1.19.1) - Client API, Using filters
  6. 如何在Html的div+css中去除&lt;li&gt;标签前面小黑点,和ul、LI部分属性方法
  7. BZOJ 2435: [Noi2011]道路修建( dfs )
  8. Android Weekly Notes Issue #285
  9. 关于Linux虚拟化技术KVM的科普 科普五(From 世民谈云计算)
  10. jS处理中英文时间格式化问题
  11. sqlserver 删除表中 指定字符串
  12. 《剑指offer》-递增数组中找到和为S的(最小)两个元素
  13. Permission denied (publickey),Gitlab &amp; Github 多ssh key 冲突 导致的权限问题
  14. SoC开发板设置网口IP为固定IP
  15. Fiddler HTTPS抓包
  16. Golang panic用法
  17. 微服务Spring Cloud与Kubernetes比较
  18. 2019.2.14 t2 程序调试
  19. 简单使用Idea创建三层架构项目和数据库连接(使用原生ajax进行访问+ajax)
  20. 全文搜索引擎 Elasticsearch 安装踩坑记录

热门文章

  1. SuperWebClient -一个基于CURL的.NET HTTP/HTTPS模拟神组件(2)
  2. 定义 : angular view 和controller 之前的 ng-init 由谁来负责
  3. Ansible 入门 (1) - 安装和配置
  4. 五金配件行业ERP解决方案
  5. mysql 局域网同事之间直接用客户端访问
  6. 《深入理解Java虚拟机》学习笔记之工具
  7. Struts2之Result详解
  8. [HDOJ2572]终曲
  9. Java面试07|Redis数据库
  10. 微信企业号接收消息(使用SpringMVC)