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 相关文章推荐
jquery select(列表)的操作(取值/赋值)
Mar 16 Javascript
从数据结构的角度分析 for each in 比 for in 快的多
Jul 07 Javascript
javascript生成随机大小写字母的方法
Feb 20 Javascript
浏览器环境下JavaScript脚本加载与执行探析之动态脚本与Ajax脚本注入
Jan 19 Javascript
js添加绑定事件的方法
May 15 Javascript
JSONP和批量操作功能的实现方法
Aug 21 Javascript
linux 后台运行node服务指令方法
May 23 Javascript
vue项目在安卓低版本机显示空白的原因分析(两种)
Sep 04 Javascript
Node.js操作MongoDB数据库实例分析
Jan 19 Javascript
mpvue网易云短信接口实现小程序短信登录的示例代码
Apr 03 Javascript
jQuery实现鼠标放置名字上显示详细内容气泡提示框效果的方法分析
Apr 04 jQuery
javascript实现时钟动画
Dec 03 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源码加密 仿微盾PHP加密专家(PHPCodeLock)
2010/05/06 PHP
PHP手机号码归属地查询代码(API接口/mysql)
2012/09/04 PHP
PHP中header函数的用法及其注意事项详解
2016/06/13 PHP
thinkPHP线上自动加载异常与修复方法实例分析
2016/12/01 PHP
centos下file_put_contents()无法写入文件的原因及解决方法
2017/04/01 PHP
thinkPHP5框架分页样式类完整示例
2018/09/01 PHP
PHP PDOStatement::setFetchMode讲解
2019/02/03 PHP
thinkPHP5框架路由常用知识点汇总
2019/09/15 PHP
ExtJS判断IE浏览器类型的方法
2014/02/10 Javascript
node.js使用cluster实现多进程
2016/03/17 Javascript
原生js封装二级城市下拉列表的实现代码
2016/06/16 Javascript
浅谈jQuery this和$(this)的区别及获取$(this)子元素对象的方法
2016/11/29 Javascript
JS返回只包含数字类型的数组实例分析
2016/12/16 Javascript
BootStrapTable 单选及取值的实现方法
2017/01/10 Javascript
JS中如何实现Laravel的route函数详解
2017/02/12 Javascript
微信小程序商城项目之侧栏分类效果(1)
2017/04/17 Javascript
javascript基于牛顿迭代法实现求浮点数的平方根【递归原理】
2017/09/28 Javascript
Vue 实现双向绑定的四种方法
2018/03/16 Javascript
React-router4路由监听的实现
2018/08/07 Javascript
vue滚动固定顶部及修改样式的实例代码
2019/05/30 Javascript
[04:11]DOTA2上海特级锦标赛主赛事首日TOP10
2016/03/03 DOTA
Python打开文件,将list、numpy数组内容写入txt文件中的方法
2018/10/26 Python
python实现对列表中的元素进行倒序打印
2019/11/23 Python
已安装tensorflow-gpu,但keras无法使用GPU加速的解决
2020/02/07 Python
Python urlencode和unquote函数使用实例解析
2020/03/31 Python
查看keras的默认backend实现方式
2020/06/19 Python
Java中有几种类型的流?JDK为每种类型的流提供了一些抽象类以供继承,请说出他们分别是哪些类
2012/02/06 面试题
工程专业求职自荐书范文
2014/02/18 职场文书
精彩广告词大全
2014/03/19 职场文书
北京申奥口号
2014/06/19 职场文书
行政专员岗位职责说明书
2014/07/30 职场文书
员工保密协议书
2014/09/27 职场文书
2014年大堂经理工作总结
2014/11/21 职场文书
2016年万圣节家长开放日活动总结
2016/04/05 职场文书
JavaScript实现淘宝商品图切换效果
2021/04/29 Javascript
SQL实现LeetCode(180.连续的数字)
2021/08/04 MySQL