[华为云在线课程][JavaScript数据类型和运算符及流程控制][学习笔记][第2章]

举报
John2021 发表于 2022/01/30 22:07:42 2022/01/30
【摘要】 第2章,JavaScript的运算符 2.1,JavaScript算术运算符 加法 + 运算符:加法可以对两个值进行加法运算,并将结果返回对非number类型的值进行运算的时候,会先把其转换成number类型的值,然后再运算任何数和NAN做运算时,转换的值都是NAN与null类型值相加,null转换为0任何类型和字符串做加法运算都会将其转化成字符串,然后再进行字符串拼接var x1 = 1...

第2章,JavaScript的运算符

2.1,JavaScript算术运算符

加法 + 运算符:

  • 加法可以对两个值进行加法运算,并将结果返回
  • 对非number类型的值进行运算的时候,会先把其转换成number类型的值,然后再运算
  • 任何数和NAN做运算时,转换的值都是NAN
  • 与null类型值相加,null转换为0
  • 任何类型和字符串做加法运算都会将其转化成字符串,然后再进行字符串拼接
var x1 = 123;
var result = x1 + 1;
console.log(result);//124
console.log(typeof result);//number
var x2 = true;
x2 = x2 + 2;
console.log(x2);//3
var x3 = false;
x3 = x3 + 2;
console.log(x3);//2
var x4 = 1;
x4 = x4 + NaN;
console.log(x4);//NaN
var x5 = false;
x5 = x5 + NaN;
console.log(x5);//NaN
var x6 = null;
x6 = x6 + "123";
console.log(x6);//null123

减法 - 运算符:

  • 减法可以对两个值进行减法运算,并返回值
  • 减法运算都把数据类型转换成Number进行运算
var a1 = 10 - "3";
console.log(a1);//7

var a2 = 10 - true;
console.log(a2);//9

var a3 = 10 - false;
console.log(a3);//10

乘法 * 运算符:

  • 乘法对两个值进行乘法运算,并返回值
  • 对非number类型的值进行运算的时候,会先把其转换成number类型的值
  • 任何值有关NaN的运算返回的都是NaN
var a1 = 10 * "3";
console.log(a1);//30

var a2 = 10 * undefined;
console.log(a2);//NaN

var a3 = 10 * NaN;
console.log(a3);//NaN

除法 / 运算符

  • 除法对数据实现除法运算,并返回值
  • 对非number类型的值进行运算的时候,会先把其转换成number类型的值
  • 任何值有关NaN的运算返回的都是NaN
var a1 = 10 / "2";
console.log(a1);//5

var a2 = "1" / undefined;
console.log(a2);//NaN

var a3 = 0 / NaN;
console.log(a3);//NaN

取模 % 运算符:

  • 取模运算就是求两数相除的余数
var a1 = 10 % "4";
console.log(a1);//2

var a2 = 4 % true
console.log(a2);//0

自增 ++ 运算符:

  • 前置型:将操作符置于变量前
  • 后置型:将操作符置于变量后
  • 前置型是在进行算术运算之前再进行自增运算
  • 后置型是在进行算术运算之后再进行自增运算
var a1 = 5;
console.log(++a1);//6

var a2 = 5;
console.log(a2++);//5

自减 – 运算符:

  • 前置型:将操作符置于变量前
  • 后置型:将操作符置于变量后
  • 前置型是在进行算术运算之前再进行自减运算
  • 后置型是在进行算术运算之后再进行自减运算
var a1 = 5;
console.log(--a1);//4
var a2 = 5;
console.log(a2--);//5

数值运算符:

  • number类型:正号不会对数值产生影响
  • 对于任意非number类型的值,会先转换成number类型的值,然后再进行运算
var a = "123";
a = +a;
console.log(a);//123
console.log(typeof a);//number

负数值运算符:

  • number类型:负号可以对符号进行取反
  • 对于非number类型的值,会先转换成number类型的值,然后再进行运算,变号正值变为负值,负值变为正值
var a1 = "123";
a1 = -a1;
console.log(a1);//-123
console.log(typeof a1);//number

var a2 = true;
a2 = -a2;
console.log(a2);//-1
console.log(typeof a2);//number

2.2,JavaScript赋值运算符

  • JavaScript中的赋值运算可以分为简单赋值运算和复合赋值运算:
    • 简单赋值运算是将赋值运算符右边表达式的值保存到左边的变量中
    • 复合赋值运算混合了其他操作(例如:算术运算操作)和赋值操作
运算符 描述 示例
= 将右边表达式的值赋给左边的变量 username=“mr”
+= 将运算符左边的变量加上右边表达式的值赋给左边的变量 a+=b//相当于a=a+b
-= 将运算符左边的变量减去右边表达式的值赋给左边的变量 a-=b//相当于a=a-b
*= 将运算符左边的变量乘以右边表达式的值赋给左边的变量 a*=b//相当于a=a*b
/= 将运算符左边的变量除以右边表达式的值赋给左边的变量 a/=b//相当于a=a/b
%= 将运算符左边的变量用右边表达式的值求模,并将结果赋给左边的变量 a%=b//相当于a=a%b

2.3,JavaScript比较运算符

> 大于运算符

console.log(10 > 5);//true

< 小于运算符

console.log(10 < 5);//false

<= 小于等于运算符

console.log(10 <= 11);//true

> = 大于等于运算符

console.log(10 >= 10);//true

== 相等运算符

console.log(10 == 10);//true

=== 严格相等运算符

console.log(10 === "10");//false

!= 不相等运算符

console.log(1 != "0");//true

!== 严格不相等运算符

console.log(1 !== "0");//true

2.4,JavaScript逻辑运算符

  • ! 非运算符
    • 对布尔值进行 ! 非运算,所谓非运算就是一个布尔值进行取反操作
var a1 = true;
a1 = !a1;
console.log(a1);//false

var a2 = false;
a2 = !!false;
console.log(a2);//false

var a3 = "111";
a3 = !!a3;
console.log(a3);//true
console.log(typeof a3);//boolean
console.log(!undefined);//true
console.log(!null);//true
console.log(!false);//true
console.log(!0);//true
console.log(!'');//true
console.log(NaN);//true
  • && 与运算符
    • && 可以对符号两侧的值进行"与运算",并返回结果
    • 关联两个条件,两个条件都为真的时候,那么整个表达式的结果才为真
    • 短路 && 与:
      • 如果第一个值为false,则不会看第二个值,表达式的值就是false
      • 如果第一个true时,则继续判断第二个值,并且以第二个做为表达式的值
console.log(true && true);//true
console.log(true && false);//false

var a1 = 10;
a1 > 11 && ++a1;
console.log(a1);//10
  • || 或运算符
    • || 可以对符号两边的值进行或运算并返回结果
    • 关联两个条件,两个条件中,只要有一个为真,那么整个表达式就为真
    • 短路或||:
      • 如果第一个值为true,则不会检查第二个,整个表达式的值就是true
      • 如果第一个值为false,才会检查第二个,并且以第二个值作为整个表达式的值。
console.log(true || false);//true
console.log(false || false);//false

var a1 = 10;
a1 > 9 || ++a1;
console.log(a1);//10

2.5,JavaScript三目运算符

  • 表示的三元运算符需要三个操作数:
  • 语法是 条件?结果1:结果2,满足条件时取结果1,否则取结果2
var b = 5;
var result1 = b == 5 ? "true" : "false";
console.log(result1);//true

var result2 = b != 5 ? "true" : "false";
console.log(result2);//false
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。