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 ...
随机推荐
- 1.5编程基础之循环控制44:第n小的质数
#include<iostream>#include<cmath>using namespace std;int main(){ int n; cin>>n; in ...
- 从源码看HashMap键值对集合
之前我们看过了两种类型的集合,ArrayList集合和LinkedList集合,两种集合各有优势,我们不具体说了,但是本篇要看的集合可以完成它们完成不了的任务.比如:现有一篇文章,要你统计其中出现了哪 ...
- BASH SHELL not a valid identifier
解决BASH SHELL脚本报错 ‘: not a valid identifier当在shell编辑脚本时,运行时出现了" ‘: not a valid identifier " ...
- 关于pthread_create未定义的引用的奇葩解决
1本来在代码里包含了pthread.h 第一次编译:gcc -o create create.c 提示错误 未定义的引用 2后来知道linux标准库没有pthread.h 要链接之-lpthrea ...
- 常见的html面试题
1.doctype作用?标准模式和兼容模式各有什么区别? (1).<doctype>声明位于文档第一行,在<html>标签之前.用于告知浏览器的解析器以什么样的标准解析该文档. ...
- ACM 子串和
子串和 时间限制:5000 ms | 内存限制:65535 KB 难度:3 描述 给定一整型数列{a1,a2...,an},找出连续非空子串{ax,ax+1,...,ay},使得该子序列的和最 ...
- Android中的WebView实战详解(二)
四.如何用WebView下载软件? 四.如何用WebView下载软件? public class MainActivity extends AppCompatActivity { private We ...
- DevOps的几个场景
名词: 服务发现: 用来确保服务的位置无关性,通过服务名来查询获得服务的实际地址. 名字解析: 用来确保服务器位置无关性,通过机器名查询获得机器的实际IP地址. 场景一: 特点: 应用少,流量轻,数台 ...
- 千呼万呼使出来Gogland (jetBrains发布的golang IDE)
由于之前一直在用PyCharm在开发, 已经习惯了这个IDE. 转golang开发后一直没找到合适的debug功能的IDE,忽然听说jetBrains发布测试版golang IDE: Gogland带 ...
- 免费搭建wordpress博客有感
之前一直有搭建个wordpress博客的想法,但一直没有实施.最近离职之后,空闲时间多了起来,就开始折腾wordpress博客起来. wordpress博客可玩性很高,但刚开始只想练练手,就没有想买域 ...