JavaScript基础-3
3 运算符
按照个数分类可分为:一元运算符、二元运算符、三元运算符;
按照功能分类可分为:算数运算符、自增运算符、比较运算符、逻辑运算符、赋值运算符;
3.1 算数运算符
算术运算符包含了加减乘除,符号表示如下:
| 运算符 | 描述 | 示例 |
| + | 加 | 1 + 1 =2 |
| - | 减 | 1 -1 = 0 |
| * | 乘 | 1 * 1 =1 |
| / | 除 | 1 / 1 = 1 |
| % | 取余 | 3 % 2 = 1 |
3.2 自增(自减)运算符
- 自增运算符
1 前置自增运算符
var num; num = num +1; // ++num 等价于 ++num
2 后置自增运算符
var num; num = num +1; // num++ 等价于 num++
区别:
前置自增是先自加1后返回值,后置自增是先返回值后加1;
自减和自增类似。
3.3 比较运算符
比较运算符是两个数据进行比较时所用的运算符,会返回布尔值;
| 运算符 | 描述 | 示例 | 返回值 |
| < | 小于号 | 1<2 | true |
| > | 大于号 | 2>1 | true |
| >= | 大于等于 | 2>=2 | true |
| <= | 小于等于 | 1<=2 | true |
| == | 等号(值一样 隐式转换) | 2==2 | true |
| != | 不等号 | 1!=2 | true |
| === !== | 全等(值和数据类型一致) | '2'==='2' | true |
3.4 逻辑运算符
用来进行布尔运算,返回值也是布尔值;
| 运算符 | 描述 | 示例 |
| && | 与 | true && false |
| || | 或 | true || false |
| ! | 非 | ! true |
- 逻辑运算
当有多个表达式的时候,左边的表达式的值可以确定时,就停止运算右边的值;
逻辑与
语法:表达式1 && 表达式2
若表达式1为真,则返回表达式2;
若表达式1为假,则返回表达式1;
console.log(123 && 456); // 返回值 456
console.log(0 && 456); // 返回值 0
逻辑或
语法:表达式1 || 表达式2
若表达式1为真,则返回表达式1;
若表达式1为假,则返回表达式2;
console.log(123 || 456); // 返回值 123
console.log(0 || 456); // 返回值 456
3.5 赋值运算符
用来把数据赋值给变量的运算符;
| 运算符 | 描述 | 示例 |
| = | 直接赋值 | var num1 = 1; |
| += -= | 加、减后再赋值 | var age1 = 1; age1 += 2; // 3 |
| *= /= %= | 乘、除、取余后再赋值 | var str1 = 1; str1 *= 2; // 2 |
3.6 运算符优先级
- 小括号;
- 一元运算符;
- 算术运算符;
- 关系运算符;
- 相等运算符;
- 逻辑运算符;
- 赋值运算符;
- 逗号运算符;
JavaScript基础-3的更多相关文章
- JavaScript基础
JavaScript基础 JavaScript是一门编程语言,浏览器内置了JavaScript语言的解释器,所以在浏览器上按照JavaScript语言的规则编写相应代码之,浏览器可以解释并做出相应的处 ...
- 一步步学习javascript基础篇(0):开篇索引
索引: 一步步学习javascript基础篇(1):基本概念 一步步学习javascript基础篇(2):作用域和作用域链 一步步学习javascript基础篇(3):Object.Function等 ...
- 前端之JavaScript基础
前端之JavaScript基础 本节内容 JS概述 JS基础语法 JS循环控制 ECMA对象 BOM对象 DOM对象 1. JS概述 1.1. javascript历史 1992年Nombas开发出C ...
- 一步步学习javascript基础篇(3):Object、Function等引用类型
我们在<一步步学习javascript基础篇(1):基本概念>中简单的介绍了五种基本数据类型Undefined.Null.Boolean.Number和String.今天我们主要介绍下复杂 ...
- Javascript基础回顾 之(三) 面向对象
本来是要继续由浅入深表达式系列最后一篇的,但是最近团队突然就忙起来了,从来没有过的忙!不过喜欢表达式的朋友请放心,已经在写了:) 在工作当中发现大家对Javascript的一些基本原理普遍存在这里或者 ...
- Javascript基础回顾 之(二) 作用域
本来是要继续由浅入深表达式系列最后一篇的,但是最近团队突然就忙起来了,从来没有过的忙!不过喜欢表达式的朋友请放心,已经在写了:) 在工作当中发现大家对Javascript的一些基本原理普遍存在这里或者 ...
- Javascript基础回顾 之(一) 类型
本来是要继续由浅入深表达式系列最后一篇的,但是最近团队突然就忙起来了,从来没有过的忙!不过喜欢表达式的朋友请放心,已经在写了:) 在工作当中发现大家对Javascript的一些基本原理普遍存在这里或者 ...
- JavaScript 基础回顾——对象
JavaScript是基于对象的解释性语言,全部数据都是对象.在 JavaScript 中并没有 class 的概念,但是可以通过对象和类的模拟来实现面向对象编程. 1.对象 在JavaScript中 ...
- javascript基础01
javascript基础01 Javascript能做些什么? 给予页面灵魂,让页面可以动起来,包括动态的数据,动态的标签,动态的样式等等. 如实现到轮播图.拖拽.放大镜等,而动态的数据就好比不像没有 ...
- javascript基础02
javascript基础02 1.数据类型 数据类型的描述在上篇的扩展中有写到链接 由于ECMAScript数据类型具有动态性,因此的确没有再定义其他数据类型的必要.这句话很重要. 如果以后再数据类型 ...
随机推荐
- 再好好聊聊 HTTP 里的 Cookie | 实用 HTTP
题图:by Juan Pablo Arenas 一.序 Hi,大家好,我是承香墨影! HTTP 协议在网络知识中占据了重要的地位,HTTP 协议最基础的就是请求和响应的报文,而报文又是由报文头(Hea ...
- java游戏开发杂谈 - 线程
线程,让游戏拥有了动态变化的能力. java的图形界面,在启动的时候,就开始了一个线程. 这个线程负责处理:JFrame.JPanel等的绘制.事件处理. 它是由操作系统调用的,在程序启动时开启,程序 ...
- 为什么VUE注册组件命名时不能用大写的?
这段时间一直在弄vue,当然也遇到很多问题,这里就来跟大家分享一些注册自定义模板组件的心得 首先"VUE注册组件命名时不能用大写"其实这句话是不对的,但我们很多人开始都觉得是对的, ...
- 使用ConcurrentHashMap一定线程安全?
前言 老王为何半夜惨叫?几行代码为何导致服务器爆炸?说好的线程安全为何还是出问题?让我们一起收看今天的<走进IT> 正文 CurrentHashMap出现背景 说到ConcurrentHa ...
- Eclipse4JavaEE安装Gradle,并导入我们的Gradle项目
第一步:下载Gradle Gradle下载链接,如下图,下载最新版本即可.下载下来的zip包,解压到一个目录即可,如F盘 第二步:配置环境变量 首先添加GRADLE_HOME,如下图 然后在Path下 ...
- 2. [mmc subsystem] mmc core数据结构和宏定义说明
一.host相关 1.struct mmc_host struct mmc_host是mmc core由host controller抽象出来的结构体,用于代表一个mmc host控制器. 数据结构如 ...
- C++基础——类继承中方法重载
一.前言 在上一篇C++基础博文中讨论了C++最基本的代码重用特性——类继承,派生类可以在继承基类元素的同时,添加新的成员和方法.但是没有考虑一种情况:派生类继承下来的方法的实现细节并不一定适合派生类 ...
- 10个小技巧助您写出高性能的ASP.NET Core代码
今天这篇文章我们来聊一聊如何提升并优化ASP.NET Core应用程序的性能,本文的大部分内容来自翻译,当然中间穿插着自己的理解,希望对大家有所帮助!话不多说开始今天的主题吧! 我们都知道性能是公共网 ...
- Mybatis之旅第一篇-初识Mybatis
一.JDBC的问题 为什么我们要使用Mybatis,是因为JDBC存在以下问题 1. 数据库连接创建.释放频繁造成系统资源浪费,从而影响系统性能.如果使用数据库连接池可解决此问题. 2. Sql语句在 ...
- java~google样式检查和命名规范
对于代码的样式和各种元素的命名都是我们架构师需要考虑的,目前在java世界里,比较流行使用java的规范,包括了代码样式检查. 代码样式检查插件 样式文件xml google命名规范 一 代码样式检查 ...