JavaScript中的6种运算符总结


Posted in Javascript onOctober 16, 2014

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 TRUE
>= 大于等于 2 >= 3 FALSE
小于等于 2 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岁"
Javascript 相关文章推荐
客户端脚本中常常出现的一些问题和调试技巧
Jan 09 Javascript
jQuery队列控制方法详解queue()/dequeue()/clearQueue()
Dec 02 Javascript
Jquery实现自定义tooltip示例代码
Feb 12 Javascript
javasciprt下jquery函数$.post执行无响应的解决方法
Mar 13 Javascript
JS选项卡动态替换banner图片路径的方法
May 11 Javascript
JS实现双击编辑可修改状态的方法
Aug 14 Javascript
js添加绑定事件的方法
May 15 Javascript
js+html5实现复制文字按钮
Jul 15 Javascript
详解Webpack多环境代码打包的方法
Aug 03 Javascript
关于微信公众号开发无法支付的问题解决
Dec 28 Javascript
通过JS运行机制的角度说说作用域
Mar 12 Javascript
jquery 键盘事件 keypress() keydown() keyup()用法总结
Oct 23 jQuery
JavaScript中使用document.write向页面输出内容实例
Oct 16 #Javascript
在HTML代码中使用JavaScript代码的例子
Oct 16 #Javascript
JavaScript代码应该放在HTML代码哪个位置比较好?
Oct 16 #Javascript
JavaScript基础教程之alert弹出提示框实例
Oct 16 #Javascript
编程语言JavaScript简介
Oct 16 #Javascript
js父页面与子页面不同时显示的方法
Oct 16 #Javascript
Javascript Memoizer浅析
Oct 16 #Javascript
You might like
php校验表单检测字段是否为空的方法
2015/03/20 PHP
浅谈PHP中的Trait使用方法
2019/03/22 PHP
使用jQuery向asp.net Mvc传递复杂json数据-ModelBinder篇
2010/05/07 Javascript
require.js深入了解 require.js特性介绍
2014/09/04 Javascript
jQuery实现HTML5 placeholder效果实例
2014/12/09 Javascript
超实用的JavaScript代码段 附使用方法
2016/05/22 Javascript
js遍历json对象所有key及根据动态key获取值的方法(必看)
2017/03/09 Javascript
bootstrap是什么_动力节点Java学院整理
2017/07/14 Javascript
vue 组件中slot插口的具体用法
2018/04/03 Javascript
详解Nodejs mongoose
2018/06/10 NodeJs
Vue实现导航栏点击当前标签变色功能
2020/08/19 Javascript
javascript设计模式 ? 备忘录模式原理与用法实例分析
2020/04/21 Javascript
[51:26]VP vs VG 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
下载安装setuptool和pip linux安装pip    
2014/01/24 Python
实例Python处理XML文件的方法
2015/08/31 Python
Django实现支付宝付款和微信支付的示例代码
2018/07/25 Python
Python中创建二维数组
2018/10/17 Python
python实现旋转和水平翻转的方法
2018/10/25 Python
Python基础之循环语句用法示例【for、while循环】
2019/03/23 Python
Python整数对象实现原理详解
2019/07/01 Python
使用python无账号无限制获取企查查信息的实例代码
2020/04/17 Python
Selenium环境变量配置(火狐浏览器)及验证实现
2020/12/07 Python
HTML5 虚拟键盘出现挡住输入框的解决办法
2017/02/14 HTML / CSS
抽象方法、抽象类怎样声明
2014/10/25 面试题
商场消防管理制度
2014/01/12 职场文书
同学聚会邀请函
2015/01/30 职场文书
2015年乡镇党务公开工作总结
2015/05/19 职场文书
污染环境建议书
2015/09/14 职场文书
简单且有用的Python数据分析和机器学习代码
2021/07/02 Python
详解CSS中的特指度和层叠问题
2021/07/15 HTML / CSS
Python如何解决secure_filename对中文不支持问题
2021/07/16 Python
在CSS中使用when/else的方法
2022/01/18 HTML / CSS
25张裸眼3D图片,带你重温童年的记忆,感受3D的魅力
2022/02/06 杂记
分享几个简单MySQL优化小妙招
2022/03/31 MySQL
浅谈Redis缓冲区机制
2022/06/05 Redis
JavaScript架构搭建前端监控如何采集异常数据
2022/06/25 Javascript