JavaScript-----运算符与流程控制

目录

前言:

1. 运算符

1.1 算术运算符

1.2 赋值运算符

1.3 比较运算符

1.4 逻辑运算符

 2.流程控制

1.1 分支结构

switch语句

1.2 循环结构

while 循环  

for循环

循环控制 :

 1.3代码示例


前言:

        今天我们就开始学习JavaScript里面的运算符和流程控制,在此之前如果学过C语言的你们理解起来应该是轻而易举的,毕竟编程语言都是具有相通性的,好了,下面就开始学习吧!

1. 运算符

1.1 算术运算符

算术运算符也就是我们常见的加减乘除取模等等,以下表格一一列举出来

运算符 描述 示例
+ 加法运算符 x + y 表示计算 x 加 y 的和
- 减法运算符 x - y 表示计算 x 减 y 的差
* 乘法运算符 x * y 表示计算 x 乘 y 的积
/ 除法运算符 x / y 表示计算 x 除以 y 的商
% 取模(取余)运算符 x % y 表示计算 x 除以 y 的余数

1.2 赋值运算符

运算符 描述 示例
= 将运算符右侧的值赋值给运算符左侧的变量 x = 10 表示将变量 x 赋值为 10
+= 先进行加法运算,再将结果赋值给运算符左侧的变量 x += y 等同于 x = x + y
-= 先进行减法运算,再将结果赋值给运算符左侧的变量 x -= y 等同于 x = x - y
*= 先进行乘法运算,再将结果赋值给运算符左侧的变量 x *= y 等同于 x = x * y
/= 先进行除法运算,再将结果赋值给运算符左侧的变量 x /= y 等同于 x = x / y
%= 先进行取模运算,再将结果赋值给运算符左侧的变量 x %= y 等同于 x = x % y

比较特殊的两个赋值运算符`自增1(++)、自减1(--)

  • 自增或自减运算符在单独与变量结合时,放前和放后没有区别(比如++a,a++ 效果是一样的)

  • 如果自增或自减运算符与其他运算符结合使用,要区分前缀和后缀,做前缀,先自加再使用,如果做后缀,先使用再自加

1.3 比较运算符

比较运算符的结算结果,永远都是一个布尔值,条件成立为true,不成立为false

运算符 名称 示例
== 等于 x == y 表示如果 x 等于 y,则为真
=== 全等 x === y 表示如果 x 等于 y,并且 x 和 y 的类型也相同,则为真
!= 不相等 x != y 表示如果 x 不等于 y,则为真
!== 不全等 x !== y 表示如果 x 不等于 y,或者 x 和 y 的类型不同,则为真
< 小于 x < y 表示如果 x 小于 y,则为真
> 大于 x > y 表示如果 x 大于 y,则为真
>= 大于或等于 x >= y 表示如果 x 大于或等于 y,则为真
<= 小于或等于 x <= y 表示如果 x 小于或等于 y,则为真
  • 字符串与字符串之间的比较,依次比较每位字符的Unicode码,只要某位字符比较出结果,就返回最终结果(阿斯克吗进行比较)

  • 其他情况一律将操作数转换为number进行数值比较,如果某一操作数无法转换number,则变成NaN参与比较运算,结果永远是false

  • 相等与全等

    • 相等 : 不考虑数据类型,只做值的比较(包含自动类型转换)

    • 全等 : 要求数据类型一致并且值相等才判断全等

1.4 逻辑运算符

运算符 名称 示例
&& 逻辑与 x && y 表示如果 x 和 y 都为真,则为真
|| 逻辑或 x || y 表示如果 x 或 y 有一个为真,则为真
! 逻辑非 !x 表示如果 x 不为真,则为真

逻辑运算符在运算时,会在计算时,临时将运算数转换为布尔值。

与运算时,a被转为布尔值true,根据与运算符的特性,true通过了,所以取到右边的值。c就等于右边的值2

JS中所有的值只有如下6个值可以转为false,除了这6个值,其他的都是转为true

  1. 数字:NaN

  2. 空指针:null

  3. 未定义:undefined

  4. 数字:0

  5. 布尔值:false

  6. 空字符串:""

 逻辑运算符的执行

&& 如果执行与运算时,如果左边的表达式成立就执行右边的表达式,如果左边的表达式不处理就返回false (真真为真,真假为假)

|| 如果执行或运算时,如果左边的表达式成立就直接返回左边的表达式结果,不执行右边的表达式;如果左边的表达式不成立就执行右边的表达式,当两边的表达式都不成立的话就返回false (真假为真,假假为假)

        let a=false;
        let b='www';
        let c=1;
        console.log(a&&b); //结果为false
        console.log(c&&b); //结果为www

        let x=0;
        let y='hello';
        console.log(x||y); //结果为hello

 2.流程控制

流程控制:控制我们代码执行顺序,而程序的执行顺序分为三种结构:顺序结构、分支结构、循环结构

  • 顺序结构就是让程序按照从头到尾的顺序依次执行每一条代码,不重复执行任何代码,也不跳过任何代码。

  • 选择结构也称分支结构,就是让程序“拐弯”,有选择性的执行代码

  • 循环结构就是让程序“杀个回马枪”,重复执行同一段代码。

JavaScript里面的流程控制跟C语言基本上是一模一样的语法的,如果你会C语言的话,下面的内容基本上都可以说是完全掌握了。 

1.1 分支结构

  • 分支结构:根据条件选择执行代码,这种就叫分支结构

  • 分支语句包含:If分支语句、switch 语句

  • if语句有三种使用:单分支、双分支、多分支

// 单分支: 当条件表达式成立,即结果为布尔值 true 时,就会执行{ }中的代码。
if(条件){
	// 条件成立时执行
}
// 双分支:单分支的升级版,它不仅可以指定当表达式成立时要执行的代码,还可以指定当表达式不成立时要执行的代码
if(条件){
	// 条件成立时执行
}else{
	// 条件不成立时选择执行
}
// 多分支:允许您定义多个条件表达式,并根据表达式的结果执行相应的代码

if(条件1){
    //条件1成立时执行
}else if(条件2){
    //条件2成立时执行
}else if(条件3){
    //条件3成立时执行
}...else{
    //条件不成立时执行
}

switch语句

  • switch语句用于值的匹配,case用于列出所有可能的值;只有switch()表达式的值与case的值匹配全等时,才会执行case对应的代码段

  • break用于结束匹配,不再向后执行;可以省略,break一旦省略,会从当前匹配到的case开始,向后执行所有的代码语句,直至结束或碰到break跳出

  • default用来表示所有case都匹配失败的情况,一般写在末尾,做默认操作

switch(value){
	 case 值1 :
	 // value与值1匹配全等时,执行的代码段
	 break; // 结束匹配
	 case 值2 :
	 // value与值2匹配全等时,执行的代码段
	 break;
	 case 值3 :
     // value与值3匹配全等时,执行的代码段
	 break;
	 default:
 	 // 所有case匹配失败后默认执行的语句
 	 break;
}

1.2 循环结构

作用:根据条件,重复执行某段代码

while 循环  

//定义循环变量;
while(循环条件){
  //  条件满足时执行的代码段
   // 更新循环变量;
}

for循环

for(定义循环变量;循环条件;更新循环变量){
	//循环体;
}

循环控制 :

  1. break 强制结束循环

  2. continue 结束当次循环,开始下一次循环

 1.3代码示例

给定一个数组[9,5,1,4,3,7,6,11,2,20] 通过冒泡排序法进行排序(JavaScript实现)

let a=[9,5,1,4,3,7,6,11,2,20] ;
        for(let i=0;ia[j+1]){
                let b=a[j];
                a[j]=a[j+1];
                a[j+1]=b;
                }
            }
        }
        console.log(a)
        //输出结果: [1, 2, 3, 4, 5, 6, 7, 9, 11, 20]

以上就是今天的全部内容了,我们下一期再见!

分享一张壁纸:

你可能感兴趣的:(JavaScript,javascript,开发语言,ecmascript,css3)