JavaScript表达式和运算符 —— 基础语法(4)
JavaScript基础语法(4)
运算符
运算符用于将一 个或者多个值变成结果值。
使用运算符的值称为操作数,运算符和操作数的组合称为表达式
JS中的运算符可以分成下面几类:
- 算术运算符
- 逻辑运算符
- 比较运算符
- 字符串运算符
- 位操作运算符
- 赋值运算符
- 条件运算符
一、算数运算符
算数运算符是最简单,也是最常见的运算符,就是加减乘除...
| 运算符 | 表达式 | 说明 | 示例 |
| + | x + y | 返回x加y的值 | x=5 + 2,结果为7 |
| - | x - y | 返回x加y的值 | x=5 - 2,结果为3 |
| * | x * y | 返回x乘以y的值 | x=5 * 2,结果为10 |
| / | x / y | 返回x除以y的值(取商) | x=5 / 2,结果为2 |
| % | x % y | 返回x除以y的模(取余) | x=5 % 2,结果为1 |
| ++ | x++; ++x | 返回数值递增;递增并返回数值 | 5++;++5,结果为5; 6 |
| -- | x--; --x | 返回数值递减;递减并返回数值 | 5--;--5,结果为5;4 |
这里注意:
- x++ 是将自身的值赋给变量,之后自身再加1;也就是先执行当前的代码,完了之后加1,x--同理。
- ++x 是将自身+1 后的值赋给变量,同时自身加1;也就是先加1,然后执行后面的代码,--x同理。
二、逻辑运算符
| 运算符 | 表达式 | 说明 | 示例 |
| && | 表达式1 && 表达式2 | 与,若2个表达式值都为true,返回true,否则返回false |
5>1 && 5<10 返回true 5>1 && 5>10 返回false |
| || | 表达式1 || 表达式2 | 或,若2个表达式值都为false,返回false,否则返回true |
5>1 || 5>10 返回true 5<1 || 5>10 返回false |
| ! | !表达式 | 非,若表达式值为false,返回true,否则返回false |
!(5>1) 返回false !(5<1) 返回true |
三、比较运算符
| 运算符 | 表达式 | 说明 | 示例 |
| == | 表达式1 == 表达式2 | 等于,判断左右两边表达式是否相等 |
age == 18 //比较age是否等于18 |
| != | 表达式1 != 表达式2 | 不等于,判断左右两边表达式是否不相等 |
age != 18 //比较age是否不等于18 |
| > | 表达式1 > 表达式2 | 大于,判断左边表达式是否大于右边表达式 |
age > height //比较age是否大于height |
| < | 表达式1 < 表达式2 | 小于,判断左边表达式是否小于右边表达式 |
age < height //比较age是否小于height |
| >= | 表达式1 >= 表达式2 | 大于等于,判断左边表达式是否大于等于右边表达式 |
age >= height //比较age是否大于等于height |
| <= | 表达式1 <= 表达式2 | 小于等于,判断左边表达式是否小于等于右边表达式 |
age <= height //比较age是否小于于等于height |
注意:
- 比较运算符的结果是布尔值
- = 是赋值运算符,== 是比较运算符别弄混了,北冥曾弄混过,被老师扣分老惨(~.~)
四、字符串连接符
就一个“+”,对两个或者多个字符串进行连接的操作。
var str1="beiming":
var str2="love";
var str4=str1+str2 ;//结果为" beiminglove"
var str5=str1+" "+str2 ;//结果为"beiming love"
var a="5", b="20", c=a+b;//c 的结果为"520"
var A=5,B=20,C=A+B;//C的结果为25
注意:当+号操作的是字符串型时,表示链接字符串,操作数值型时,做加法运算。
五、位运算符
位操作符,是对数值的二进制位进行操作,如做左移,右移等等。
| 运算符 | 表达式 | 说明 |
| & | 表达式1 & 表达式2 | 当两个表达式的值都为true时返回1,否则返回0 |
| | | 表达式1 | 表达式2 | 当两个表达式的值都为false时返回0,否则返回1 |
| ^ | 表达式1 ^ 表达式2 | 两个表达式中有且只有一个为false时返回1,否则返回0 |
| << | 表达式1 << 表达式2 | 将表达式1向左移表达式2指定的位数 |
| >> | 表达式1 >> 表达式2 | 将表达式1向右移表达式2指定的位数 |
| >>> | 表达式1 >>> 表达式2 | 将表达式1向右移表达式2指定的位数,空位补0 |
| ~ | ~表达式 | 将表达式的值按二进制逐位取反 |
console.log(true & true);//结果:1
console.log(false | false);//结果:0
console.log(true ^ false);//结果:1
这里可以参考进制与转换:https://www.cnblogs.com/beimingdaoren/p/12771047.html
console.log(1 >> 1);
//这里我们以8bt为例,首位表符号(0表正数1表负数)
//1的二进制源码为00000001,右移1位后:00000000,结果为0 console.log(1 << 1);
//1的二进制源码为00000001,左移1位后:00000010,结果为2 console.log(2 >>> 1);
//2的二进制源码为00000010,左移1位并且空位补0后:00000001,结果为1
//处理正数与>>差不多,但是处理负数时,使用补码形式就有很大区别 console.log(~1);
//1的源码:00000001,~逐位取反后:100000010,结果为~2
//位非运算实际上就是对数字进行取负运算,再减 1。
七、赋值运算符
| 运算符 | 表达式 | 说明 |
| = | 变量 = 表达式 | 将表达式值赋予变量 |
| += | 变量 += 表达式 | 将表达式值与变量值执行+加法操作后赋予变量 |
| -= | 变量 -= 表达式 | 将表达式值与变量值执行-减法操作后赋予变量 |
| *= | 变量 *= 表达式 | 将表达式值与变量值执行*乘法操作后赋予变量 |
| /= | 变量 /= 表达式 | 将表达式值与变量值执行/除法操作后赋予变量 |
| %= | 变量 %= 表达式 | 将表达式值与变量值执行%取余法操作后赋予变量 |
| <<= | 变量 <<= 表达式 | 对变量按表达式的值向左移 |
| >>= | 变量 >>= 表达式 | 对变量按表达式的值向右移 |
| >>>= | 变量 >>>= 表达式 | 对变量按表达式的值向右移,空位补0 |
| &= | 变量 &= 表达式 | 将表达式的值与变量执行&操作后赋予变量 |
| |= | 变量 |= 表达式 | 将表达式的值与变量执行|操作后赋予变量 |
| ^= | 变量 ^= 表达式 | 将表达式的值与变量执行^操作后赋予变量 |
八、条件运算符
条件运算符也叫三目运算符
语法:
条件表达式? 值1 : 值2;
例子:
console.log(2>1 ? "2>1为真" : "2<1位假");//结果:2>1为真
console.log(1>2 ? "1>2为真" : "1<2位假");//结果:1>2为假
JavaScript表达式和运算符 —— 基础语法(4)的更多相关文章
- 第四章:Javascript表达式和运算符
表达式是javascript中的一个短语,javascript解释器会将其计算出一个结果.程序中常用量是最简单的一类表达式就是变量.变量名也是一种简单的表达式,它的值就是赋值给变量的值.复杂的表达式是 ...
- javaScript基础-02 javascript表达式和运算符
一.原始表达式 原始表达式是表达式的最小单位,不再包含其他表达式,包含常量,直接量,关键字和变量. 二.对象和数组的初始化表达式 对象和数组初始化表达式实际上是一个新创建的对象和数组. 三.函数表达式 ...
- javascript 表达式和运算符 (二)
表达式是一种JS短语,可使JS解释器用来产生一个值. 一.表达式 表达式分类 1.原始表达式 常量.直接量 (3.14,"test"); 关键字 (null,this,true): ...
- Javascript 表达式和运算符
属性访问表达式: var o = {x:1, y:{z:3}};//示例对象 var a = [o, 4, [5,6]];//包含对象的数组 console.log(o["x"]) ...
- 笔记《JavaScript 权威指南》(第6版) 分条知识点概要3—表达式和运算符
[表达式和运算符]原始表达式,初始化表达式(对象和数组的),函数定义表达式,属性访问表达式,调用表达式,对象创建表达式,运算符概述,算术表达式,关系表达式,逻辑表达式,赋值表达式,表达式计算,其他运算 ...
- Javascript权威指南——第二章词法结构,第三章类型、值和变量,第四章表达式和运算符,第五章语句
第二章 词法结构 一.HTML并不区分大小写(尽管XHTML区分大小写),而javascript区分大小写:在HTML中,这些标签和属性名可以使用大写也可以使用小写,而在javascript中必须小写 ...
- Javascript学习2 - Javascript中的表达式和运算符
原文:Javascript学习2 - Javascript中的表达式和运算符 Javascript中的运算符与C/C++中的运算符相似,但有几处不同的地方,相对于C/C++,也增加了几个不同的运算符, ...
- JavaScript深入浅出补充——(一)数据类型,表达式和运算符
项目基本做完,在进行下一阶段学习之前先看视频学习回顾一下JavaScript 一.数据类型 JavaScript中有五种原始类型和一种对象类型 JavaScript弱类型语言中隐式转换 num-0 字 ...
- Python基础0:变量 赋值 表达式和运算符
变量: 前面我们在使用print()输出内容的时候,如果内容很长,后面要再次输出的时候,就需重新在输入一遍. 如果给输出的内容起个简单的别名.这样我们用简短的别名来代替长内容,下次要输出的时候就直接使 ...
随机推荐
- 移动端H5调试
背景:开发PC页面的时候使用chrome浏览器的开发者工具,可以很容易的捕获到页面的dom元素,并且可以修改样式,方便调试:但是手机上却很麻烦,因为手机上没有办法直接打开开发者工具查看元素.其实可以通 ...
- 面试刷题28:如何写出安全的java代码?
对jdk,jvm,java应用程序的攻击多种多样?那么从java程序员的角度,如何写出安全的代码呢? 我是李福春,我在准备面试,今天的题目是:如何写出安全的java代码? 答:这个需要从功能设计到实现 ...
- 如何搭建本地web服务
IIS服务是windows自带的web服务,我们可以用来搭建本地网站,供局域网内的用户之前访问,比如办公室的同事之间,一个教室里的同学们. 先说明这是Windows10 x64位 家庭普通版的系统. ...
- Win10远程桌面发生身份验证错误,要求的函数不受支持
昨儿个使用远程桌面,意外发的发现连不上测试环境了.身边的同事也有连不上的.一开始以为是远程机器可能出了问题,但是而后排查确认是自个儿机器问题.原因在与机器前天晚上自动升级了系统补丁,也有部分网友反映了 ...
- __str_方法和__repr__的区别
__str__方法和__repr__方法: 官方文档解释: Object.__repr__(self): 由 repr() 内置函数调用以输出一个对象的“官方”字符串表示.如果可能,这应类似一个有效的 ...
- 模块 hashlib 加密 签名 防篡改
hashlib 模块 加密算法: hash (152位)散列 哈希 不可逆得 密码背后就是 hash 程序退出hash 值就变了 ,hash值得结果有可能重复 MD5 (128位) 讯息摘要演算法 基 ...
- LeetCode(42.接雨水)多解法详解
接雨水解法详解: 题目: 基本思路:从图上可以看出要想接住雨水,必须是凹字形的,也就是当前位置的左右两边必须存在高度大于它的地方,所以我们要想知道当前位置最多能存储多少水,只需找到左边最高处max_l ...
- SQL Server中STATISTICS IO物理读和逻辑读的误区
SQL Server中STATISTICS IO物理读和逻辑读的误区 大家知道,SQL Server中可以利用下面命令查看某个语句读写IO的情况 SET STATISTICS IO ON 那么这个命令 ...
- js 数组 随机排序
方法一: function getRandomInt(min, max) { return Math.floor(Math.random() * (max - min + 1) + min) } fu ...
- python开发基于SMTP协议的邮件代发服务
写在这篇文章前照例给大家灌输点名词解释,理论知识,当然已经很熟悉的同学可以往下翻直接看干货 1. 什么是SMTP SMTP即简单传输协议(Simple Mail Transfer Protocol), ...