JavaScript基础语法(4)

运算符

运算符用于将一 个或者多个值变成结果值。

使用运算符的值称为操作数,运算符和操作数的组合称为表达式

JS中的运算符可以分成下面几类:

  1. 算术运算符
  2. 逻辑运算符
  3. 比较运算符
  4. 字符串运算符
  5. 位操作运算符
  6. 赋值运算符
  7. 条件运算符

一、算数运算符

算数运算符是最简单,也是最常见的运算符,就是加减乘除...

运算符 表达式 说明 示例
+ 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)的更多相关文章

  1. 第四章:Javascript表达式和运算符

    表达式是javascript中的一个短语,javascript解释器会将其计算出一个结果.程序中常用量是最简单的一类表达式就是变量.变量名也是一种简单的表达式,它的值就是赋值给变量的值.复杂的表达式是 ...

  2. javaScript基础-02 javascript表达式和运算符

    一.原始表达式 原始表达式是表达式的最小单位,不再包含其他表达式,包含常量,直接量,关键字和变量. 二.对象和数组的初始化表达式 对象和数组初始化表达式实际上是一个新创建的对象和数组. 三.函数表达式 ...

  3. javascript 表达式和运算符 (二)

    表达式是一种JS短语,可使JS解释器用来产生一个值. 一.表达式 表达式分类 1.原始表达式 常量.直接量 (3.14,"test"); 关键字 (null,this,true): ...

  4. Javascript 表达式和运算符

    属性访问表达式: var o = {x:1, y:{z:3}};//示例对象 var a = [o, 4, [5,6]];//包含对象的数组 console.log(o["x"]) ...

  5. 笔记《JavaScript 权威指南》(第6版) 分条知识点概要3—表达式和运算符

    [表达式和运算符]原始表达式,初始化表达式(对象和数组的),函数定义表达式,属性访问表达式,调用表达式,对象创建表达式,运算符概述,算术表达式,关系表达式,逻辑表达式,赋值表达式,表达式计算,其他运算 ...

  6. Javascript权威指南——第二章词法结构,第三章类型、值和变量,第四章表达式和运算符,第五章语句

    第二章 词法结构 一.HTML并不区分大小写(尽管XHTML区分大小写),而javascript区分大小写:在HTML中,这些标签和属性名可以使用大写也可以使用小写,而在javascript中必须小写 ...

  7. Javascript学习2 - Javascript中的表达式和运算符

    原文:Javascript学习2 - Javascript中的表达式和运算符 Javascript中的运算符与C/C++中的运算符相似,但有几处不同的地方,相对于C/C++,也增加了几个不同的运算符, ...

  8. JavaScript深入浅出补充——(一)数据类型,表达式和运算符

    项目基本做完,在进行下一阶段学习之前先看视频学习回顾一下JavaScript 一.数据类型 JavaScript中有五种原始类型和一种对象类型 JavaScript弱类型语言中隐式转换 num-0 字 ...

  9. Python基础0:变量 赋值 表达式和运算符

    变量: 前面我们在使用print()输出内容的时候,如果内容很长,后面要再次输出的时候,就需重新在输入一遍. 如果给输出的内容起个简单的别名.这样我们用简短的别名来代替长内容,下次要输出的时候就直接使 ...

随机推荐

  1. vue - Babel之babel-polyfill、babel-runtime、transform-runtime

    引言 babel默认只转换新的 JavaScript 语法,比如箭头函数.扩展运算(spread). 不转换新的 API,例如Iterator.Generator.Set.Maps.Proxy.Ref ...

  2. 干货 | Python进阶系列之学习笔记(二)

    目录 对象 字符串 一.对象 (1)什么是对象 在python中一切都是对象,每个对象都有三个属性分别是,(id)身份,就是在内存中的地址,类型(type),是int.字符.字典(dic).列表(li ...

  3. 一些数组笔记(C)

    0.数组名是一个指针,存放数组首元素地址,所以使用scanf()接受字符串输入时只用写上数组名,不用加&.数组名是常量不允许修改其值.数组只能定义的时候初始化,后期初始化会被认为是修改数组名的 ...

  4. 商品spu 和 sku的关系

    总结一下在目前的电商系统中的商品涉及的属性spu,sku.搞清楚两者之间的关系对表的设计非常重要 spu Standard Product Unit (标准产品单位) ,一组具有共同属性的商品集 SK ...

  5. 使用golang理解mysql的两阶段提交

    使用golang理解mysql的两阶段提交 文章源于一个问题:如果我们现在有两个mysql实例,在我们要尽量简单地完成分布式事务,怎么处理? 场景重现 比如我们现在有两个数据库,mysql3306和m ...

  6. 五、【Docker笔记】Dockers仓库

    仓库是集中存放镜像的地方,仓库的概念不要与注册服务器做混淆.注册服务器是存放仓库的具体服务器,每个服务器上可能有多个仓库,一个仓库有多个镜像. 仓库又可分为共有仓库和私有仓库,最大的共有仓库即Dock ...

  7. Redis底层结构概述

    可以使用 object encoding <key> 查看使用的具体数据结构 原图链接

  8. (js描述的)数据结构[队列结构,优先级队列](3)

    (js描述的)数据结构[队列结构](3) 一.队列结构的特点: 1.基于数组来实现,的一种受限的线性结构. 2.只允许在表头进行删除操作,在表尾进行插入操作. 3.先进先出(FIFO) 二.队列的一些 ...

  9. Linux服务器架设篇,DNS服务器(三),正反解区域的配置

    一.大体架构 DNS服务器其实只有一个"真正"的配置文件,即 /etc/named.conf .其他的配置文件都是依据此配置展开的.每个域都需要两个配置文件,即正解文件和反解文件. ...

  10. 听说你想要部署 Octopress?满足你

    Octopress 是一个面向开发者的博客系统,广受程序员的喜爱.既然大家有需求,那么 Octopress 也要安排上~ 云开发(CloudBase)是一款云端一体化的产品方案 ,采用 serverl ...