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 相关文章推荐
js客户端快捷键管理类的较完整实现和应用
Jun 08 Javascript
用JS判别浏览器种类以及IE版本的几种方法小结
Aug 02 Javascript
教你如何使用node.js制作代理服务器
Nov 26 Javascript
理解javascript封装
Feb 23 Javascript
jQuery自适应轮播图插件Swiper用法示例
Aug 24 Javascript
微信小程序 倒计时组件实现代码
Oct 24 Javascript
jq给页面添加覆盖层遮罩的实例
Feb 16 Javascript
Angualrjs和bootstrap相结合实现数据表格table
Mar 30 Javascript
Vue-router路由判断页面未登录跳转到登录页面的实例
Oct 26 Javascript
jquery操作checkbox的常用方法总结【附测试源码下载】
Jun 10 jQuery
Node.js 实现远程桌面监控的方法步骤
Jul 02 Javascript
在antd4.0中Form使用initialValue操作
Nov 02 Javascript
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递归方法实现无限分类实例代码
2014/02/28 PHP
PHP实现对二维数组某个键排序的方法
2016/09/14 PHP
PHP实现的各类hash算法长度及性能测试实例
2017/08/27 PHP
YII框架行为behaviors用法示例
2019/04/26 PHP
科讯商业版中用到的ajax空间与分页函数
2007/09/02 Javascript
Jquery replace 字符替换实现代码
2010/12/02 Javascript
最佳6款用于移动网站开发的jQuery 图片滑块插件小结
2012/07/20 Javascript
浅谈 jQuery 事件源码定位问题
2014/06/18 Javascript
jQuery右下角旋转环状菜单特效代码
2015/08/10 Javascript
Jquery中巧用Ajax的beforeSend方法
2016/01/20 Javascript
基于canvas实现的钟摆效果完整实例
2016/01/26 Javascript
jQuery监听文件上传实现进度条效果的方法
2016/10/16 Javascript
Vue.directive()的用法和实例详解
2018/03/04 Javascript
关于jquery layui弹出层的使用方法
2018/04/21 jQuery
vue mounted 调用两次的完美解决办法
2018/10/29 Javascript
javascript实现考勤日历功能
2018/11/29 Javascript
Element UI框架中巧用树选择器的实现
2018/12/12 Javascript
vue+element加入签名效果(移动端可用)
2019/06/17 Javascript
js常用方法、检查是否有特殊字符串、倒序截取字符串操作完整示例
2020/01/26 Javascript
Vue移动端用淘宝弹性布局lib-flexible插件做适配的方法
2020/05/26 Javascript
vue集成openlayers加载geojson并实现点击弹窗教程
2020/09/24 Javascript
11个Javascript小技巧帮你提升代码质量(小结)
2020/12/28 Javascript
[00:35]DOTA2上海特级锦标赛 Newbee战队宣传片
2016/03/03 DOTA
[09:37]2018DOTA2国际邀请赛寻真——不懈追梦的Team Serenity
2018/08/13 DOTA
Python实用技巧之利用元组代替字典并为元组元素命名
2018/07/11 Python
Python+selenium点击网页上指定坐标的实例
2019/07/05 Python
PyCharm 配置远程python解释器和在本地修改服务器代码
2019/07/23 Python
Django异步任务线程池实现原理
2019/12/17 Python
Python3 assert断言实现原理解析
2020/03/02 Python
python 检测nginx服务邮件报警的脚本
2020/12/31 Python
真正的英国宝藏:Mappin & Webb
2019/05/05 全球购物
澳大利亚体育和露营装备在线/实体零售商:Find Sports
2020/06/03 全球购物
学校督导评估方案
2014/06/10 职场文书
个人买房协议书范本
2014/10/06 职场文书
python自动化之如何利用allure生成测试报告
2021/05/02 Python
Vue OpenLayer 为地图绘制风场效果
2022/04/24 Vue.js