JavaScript中的6种运算符总结
JavaScript 运算符主要包括:
- 算术运算符
- 赋值运算符
- 比较运算符
- 三元运算符
- 逻辑运算符
- 字符串连接运算符
运算符 | 说明 | 例子 | 运算结果 |
---|---|---|---|
+ | 加 | 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岁"
JavaScript中的6种运算符总结的更多相关文章
- 探究JavaScript中的五种事件处理程序
探究JavaScript中的五种事件处理程序 我们知道JavaScript与HTML之间的交互是通过事件实现的.事件最早是在IE3和Netscape Navigator 2中出现的,当时是作为分担服务 ...
- JavaScript中的三种弹出对话框
学习过js的小伙伴会发现,我们在一些实例中用到了alert()方法.prompt()方法.prompt()方法,他们都是在屏幕上弹出一个对话框,并且在上面显示括号内的内容,使用这种方法使得页面的交互性 ...
- JavaScript中的三种弹出框的区别与使用
JavaScript中有三种原生的弹出框,分别是alert.confirm.prompt.分别表示弹出框.确认框.信息框. 以下是示例代码: <!DOCTYPE html> <htm ...
- 对 JavaScript 中的5种主要的数据类型进行值复制
定义一个函数 clone(),可以对 JavaScript 中的5种主要的数据类型(包括 Number.String.Object.Array.Boolean)进行值复制 使用 typeof 判断值得 ...
- javascript 中的==(相等运算符)与===(等同运算符)比较
javascript 中的==(相等运算符)与===(等同运算符)比较:(1)==用于一般比较,===用于严格比较,(2)==在比较的时候可以转换数据类型,===严格比较,只要类型不匹配就返回flas ...
- JavaScript 中的12种循环遍历方法
原文:JavaScript 中的12种循环遍历方法 题目:请介绍 JavaScript 中有哪些循环和遍历的方法,说说它们的应用场景和优缺点? 1.for 循环 let arr = [1,2,3];f ...
- 实现一个函数clone,使JavaScript中的5种主要的数据类型(包括Number、String、Object、Array、Boolean)进行值复制
实现一个函数clone,可以对JavaScript中的5种主要的数据类型(包括Number.String.Object.Array.Boolean)进行值复制. 1 /** 对象克隆 2 * 支持基本 ...
- JavaScript中instanceof与typeof运算符的用法及区别详细解析
JavaScript中的instanceof和typeof常被用来判断一个变量是什么类型的(实例),但它们的使用还是有区别的: typeof 运算符 返回一个用来表示表达式的数据类型的字符串. typ ...
- 好文:javascript中的四种循环
https://juejin.im/entry/5a1654e951882554b8373622?utm_medium=hao.caibaojian.com&utm_source=hao.ca ...
随机推荐
- css4激动人心的新特性及浏览器支持度
CSS3的选择器提供了很多像:nth-child这样有用的选择器,并且得到浏览器支持.CSS的第四代 选择器CSS4选择器),经我们带来了更多有用的选择器. 1.否定伪类:not 否定伪类选择器其实在 ...
- 每天一个linux命令(55)--at命令
在Windows系统中,Windows提供了计划任务这一功能,在控制面板 -> 性能与维护 -> 任务计划,它的功能就是安排自动运行的任务.通过 ‘ 添加任务计划’ 的一步步引导, ...
- redis命令大全
redis windows下使用及redis命令 Redis 是一个开源,高级的键值对的存储.它经常作为服务端的数据结构,它的键的数据类型能够是strings, hashs, lists, sets( ...
- VUE2.0实现购物车和地址选配功能学习第五节
第五节 单件商品金额计算和单选全选功能 1.vue精髓在于操作data模型来改变dom,渲染页面,而不是直接去改变dom 2.加减改变总金额功能: html:<div class="c ...
- 自己动手编写Maven的插件
Maven的插件机制是完全依赖Maven的生命周期的,因此理解生命周期至关重要.本文参考官方文档后使用archetype创建,手动创建太麻烦. 创建创建项目 选择maven-archetype-moj ...
- .NET MD5加密解密代码
MD5简介: 是让大容量信息在用数字签名软件签署私人密匙前被"压缩"成一种保密的格式(就是把一个任意长度的字节串变换成一定长的大整数).不管是MD2.MD4还是MD5,它们都需要获 ...
- Swap Nodes in Pairs leetcode
Given a linked list, swap every two adjacent nodes and return its head. For example,Given 1->2-&g ...
- 1724: [Usaco2006 Nov]Fence Repair 切割木板
1724: [Usaco2006 Nov]Fence Repair 切割木板 Time Limit: 5 Sec Memory Limit: 64 MBSubmit: 854 Solved: 42 ...
- swift -- as / 扩展
一.使用 可选链式 调用代替强制展开 //当声明一个属性时,将属性类型设置为可选类型: 好处: 当可选类型的属性被赋予初始值时,系统调用初始值;当可选类型属性没有赋予初始值时,系统只会调用失败;如果属 ...
- Visual Studio 2017 通过SSH 调试Linux 上.NET Core
Visual Studio 2017 通过SSH 调试Linux 上.NET Core 应用程序. 本文环境 开发环境:Win10 x64 Visual Studio 2017 部署环境:Ubuntu ...