算数运算符

  • 算术运算符

描叙

运算符

实例

+

10 + 20 = 30

-

10 – 20 = -10

*

10 * 20 = 600

/

10 / 20 = 0.5

取余数

%

返回除法的余数9%2=1

  • 浮点数精确度

浮点数值的最高精度是 17 位小数

console.log(0.07 * 100);  // 7.000000000000001
console.log(0.1 + 0.2); // 0.30000000000000004

递增和递减运算符

  • 递增运算符
  1. 前置递增
++num 前置递增,就是自加1,类似于 num =  num + 1,但是 ++num 写起来更简单

var num = 1;
console.log(++num); // 2 使用口诀:先自加,后返回值

2.  后置递增

num++ 后置递增,就是自加1,类似于 num =  num + 1 ,但是 num++ 写起来更简单

var num = 1;
console.log(10 + num++); // 10 + 10 + 1 使用口诀:先返回原值,后自加

比较运算符

  • 比较运算符号

两个数据进行比较,返回一个布尔值

运算符名称

说明

案例

结果

<

小于号

1 < 2

true

>

大于号

1 > 2

false

>=

大于等于号

1 >= 2

false

<=

小于等于号

1 <= 2

false

!=

不等于

1 != 2

true

==

判等于(会转型)

1 == 1

true

=== !==

全等于,要求值数据类型一致

‘37’ === 37

false

  • 等号运算符

符号

作用

用法

=

赋值

把右边给左边

==

判断

判断两边是否相等(隐式转换)

===

全等

判断两边值和类型是否相等

console.log('19' == 19);  // true
console.log('19' === 19); // false

逻辑运算符

  • 逻辑运算符概念

逻辑运算符是用来进行布尔值运算的运算符,其返回值也是布尔值

逻辑运算符

说明

案例

&&

“逻辑与” and

ture && false

||

“逻辑或” or

ture || false

“逻辑非”  not

!true

  • 逻辑与 &&

两边都是 true才返回 true,否则返回 false

  • 逻辑或 ||

一边是 true返回 true,否则返回 false

  • 逻辑非 !

逻辑非(!)也叫作取反符,用来取一个布尔值相反的值,如 true 的相反值是 false

var num = !true;
console.log(num); // false
  • 短路运算(逻辑中断)

短路运算的原理:当有多个表达式(值)时,左边的表达式值可以确定结果时,就不再继续运算右边的表达式的值;

  1. 逻辑与

语法: 表达式1 && 表达式2

如果第一个表达式的值为真,则返回表达式2
如果第一个表达式的值为假,则返回表达式1 console.log(11 && 22); // 11
console.log(0 && 2); // 0

2.  逻辑或

语法: 表达式1 || 表达式2

如果第一个表达式的值为真,则返回表达式1
如果第一个表达式的值为假,则返回表达式2
console.log( 123 || 456 ); // 123
console.log( 0 || 456 ); // 456

赋值运算符

赋值运算符

说明

案例

=

直接赋值

var name=’1’

+=,-=

加,减一个值,再赋值

var age=1;age+=2 //3

*=,/=,%=

乘,除,取余后在赋值

var age=1;age*=1 //10

var num = 2;
console.log(num += 1); // 3
console.log(num -= 1); // 2
console.log(num *= 1); // 2

优先级运算符

流程控制

  • if 语句
// 条件成立执行代码,否则什么也不做
if (条件表达式) {
// 条件成立执行的代码语句
}
  • if else 语句
// 条件成立  执行 if 里面代码,否则执行else 里面的代码
if (条件表达式) {
// [如果] 条件成立执行的代码
} else {
// [否则] 执行的代码
}
  • if else if 语句
// 适合于检查多重条件。
if (条件表达式1) {
语句1;
} else if (条件表达式2) {
语句2;
} else if (条件表达式3) {
语句3;
....
} else {
// 上述条件都不成立执行此处代码
}

三元表达式

  • 语法结构
表达式1 ? 表达式2 : 表达式3;
  • 执行思路

如果表达式1为 true ,则返回表达式2的值,如果表达式1为 false,则返回表达式3的值

简单理解: 就类似于 if else (双分支) 的简写

console.log((1 == true)? true: false);  // true

switch分支流程控制

  • 语法结构
switch( 表达式 ){
case value1:
// 表达式 等于 value1 时要执行的代码
break;
case value2:
// 表达式 等于 value2 时要执行的代码
break;
default:
// 表达式 不等于任何一个 value 时要执行的代码
}
  1. switch :开关 转换 , case :小例子 选项
  2. 关键字 switch 后面括号内可以是表达式或值, 通常是一个变量
  3. 关键字 case , 后跟一个选项的表达式或值,后面跟一个冒号
  4. switch 表达式的值会与结构中的 case 的值做比较
  5. 如果存在匹配全等(===) ,则与该 case 关联的代码块会被执行,并在遇到 break 时停止,整个 switch 语句代码执行结束
  6. 如果所有的 case 的值都和表达式的值不匹配,则执行 default 里的代码

执行case 里面的语句时,如果没有break,则继续执行下一个case里面的语句。

switch (name = 'peach3') {
case 'peach':
console.log('peach');
break;
case 'peach2':
console.log('peach2');
break;
default:
console.log('default');
} // default


循环

for 循环
  • 语法结构
for(初始化变量; 条件表达式; 操作表达式 ){
//循环体
}
num = 0;
for (var i=1; i < 100; i++){
num += i
}
console.log(num); // 4950
双重 for 循环
  • 语法
for (外循环的初始; 外循环的条件; 外循环的操作表达式) {
for (内循环的初始; 内循环的条件; 内循环的操作表达式) {
需执行的代码;
}
}
var start = '';
for (var j=1; j <=3; j++) {
for (var i=1; i <=3; i++) {
start += '☆'
}
start += '\n'
} console.log(start);
☆☆☆
☆☆☆
☆☆☆
while 循环
  • 语法
while (条件表达式) {
// 循环体代码
}
var i = 0;
while (i < 5) {
if (i === 3) {
console.log(i);
break
}
i ++
} // 3
do – while 循环
do {
// 循环体代码 - 条件表达式为 true 时重复执行循环体代码
} while(条件表达式);

  1. 先执行一次循环体(do)代码
  2. 再执行条件表达式,如果结果为 true,则继续执行循环体代码,如果为 false,则退出循环,继续执行后面代码
  3. 先再执行循环体,再判断,do…while循环语句至少会执行一次循环体代码
var i =0;
do {
console.log("do 数字为" + i);
i ++;
} while ( i < 2){
console.log(i);
}

JavaScript 运算,流程控制和循环的更多相关文章

  1. python全栈 流程控制;while 循环 格式化输出 运算符 及编码

    python全栈开发 1循环 2break和continue的区别 3格式化输出 4运算符 5编码 一.流程控制while循环 while条件: 代码块(循环体) 1.死循环; while True; ...

  2. PHP丨PHP基础知识之流程控制WHILE循环「理论篇」

    昨天讲完FOR循环今天来讲讲他的兄弟WHILE循环!进入正题: while是计算机的一种基本循环模式.当满足条件时进入循环,进入循环后,当条件不满足时,跳出循环.while语句的一般表达式为:whil ...

  3. 051 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 13 Eclipse下程序调试——debug入门1

    051 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 13 Eclipse下程序调试--debug入门1 本文知识点: 程序调试--debug入门1 程序 ...

  4. 048 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 10 案例——阶乘的累加和

    048 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 10 案例--阶乘的累加和 本文知识点:通过案例练习嵌套循环应用 案例练习--阶乘的累加和 案例题目 ...

  5. python流程控制for循环

    流程控制 for循环 #首先我们用一例子看下用while循环取出列表中值的方法 l=['a','b','c'] i=0 while i<len(l): print(l[i]) i+=1 #whi ...

  6. Python之流程控制——while循环

    Python之流程控制--while循环 一.语法 while 条件: 执行代码 while就是当的意思,它指当其后面的条件成立,就执行while下面的代码. 例:写一个从0打印到10的程序 coun ...

  7. ansible-playbook流程控制-loops循环使用

    1. ansible-playbook流程控制-loops循环使用    有时你想要多次重复任务.在计算机编程中,这称为循环.common ansible循环包括使用文件模块更改多个文件和/或目录的所 ...

  8. JavaScript的流程控制

    JavaScript的流程控制 1.if...else if...else... 2.while 3.for 4.forEach 5.for...in... 完整代码如下: <!DOCTYPE ...

  9. 053 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 15 流程控制知识总结

    053 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 15 流程控制知识总结 本文知识点: 流程控制知识总结 流程控制知识总结 选择结构语句 循环结构语句 ...

  10. 052 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 14 Eclipse下程序调试——debug2 多断点调试程序

    052 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 14 Eclipse下程序调试--debug2 多断点调试程序 本文知识点: Eclipse下程序调 ...

随机推荐

  1. SCPI指令闲扯

    准备用SCPI控制我的汉泰DSO3254示波器,实现如下的功能. 一通道采集数据,二通道作为触发,每触发一次,传输一和二通道采集到数据到电脑. 我以为可以如下设计:电脑发出指令,示波器电脑进入挂起状态 ...

  2. Java(二)Arrays工具类

    Arrays是一个专门用于操作数组的工具类,该类位于java.util包中. Arrays的常用方法: 1.排序方法 原型:static void sort(int [] a) 功能:对指定的int型 ...

  3. VSCode常用插件汇总

    vscode常用插件汇总: 点击插件名字,查看使用文档 vscode-fileheader : 添加注释到文件头,并支持自动更新文件修改时间. EditorConfig for vs code :   ...

  4. PTA L2-029 | 特立独行的幸福 (打表+递归)

    题目描述 对一个十进制数的各位数字做一次平方和,称作一次迭代.如果一个十进制数能通过若干次迭代得到 \(1\),就称该数为幸福数.\(1\) 是一个幸福数.此外,例如 \(19\) 经过一次迭代得到 ...

  5. link(外部资源关系)

    规定了外部资源与当前文档的关系 常于链接样式表<link href="/media/examples/link-element-example.css" rel=" ...

  6. defender 月考总结

    今天是2019年5月28日,昨天月考了,也是C**生日.昨天考完之后,还是那种考完试的释然感.目前,已经批出来了数学.英语.物理三门学科的成绩,语文还没有批出来.应该明天就能够批出来吧.现在趁着休息, ...

  7. 字符串hash补充(模数情况下)

    字符串模板,在模数意义下的,比较好用 #include<stdio.h> typedef long long LL; /*[字符串哈希算法] 字符串哈希算法的提出,涉及到如何快速地求两个字 ...

  8. DFS-回溯与剪枝-C - N皇后问题

    C - N皇后问题 在N*N的方格棋盘放置了N个皇后,使得它们不相互攻击(即任意2个皇后不允许处在同一排,同一列,也不允许处在与棋盘边框成45角的斜线上.你的任务是,对于给定的N,求出有多少种合法的放 ...

  9. C# LINQ学习笔记一:走进LINQ的世界

    本笔记摘抄自:https://www.cnblogs.com/liqingwen/p/5832322.html,记录一下学习过程以备后续查用. LINQ 简介:     语言集成查询(LINQ)是Vi ...

  10. linux基础之CentOS启动流程

    一.基本概念 内核设计流派: 单内核设计:Linux //所有功能集成于同一个程序 微内核设计:Windows,Solaris //每种功能使用一个单独子系统实现 Linux内核特点: 支持模块化:. ...