我是靠谱客的博主 俏皮香氛,最近开发中收集的这篇文章主要介绍JS学习第四天day04 运算符和流程控制语句,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

day04 运算符和流程控制语句

1.回顾

5种基本数据类型
     number  数值类型
   string  字符串类型
   boolean 布尔类型
   undefined 未定义
   null  空对象
1种特殊数据类型(复杂数据类型 引用数据类型 对象数据类型)
    array  数组
    object 对象
    function 函数
​
​
null和undefined的区别
    undefined 未定义 声明变量没有赋值  var a;  没有存储空间
    null 空对象  有存储空间
​
​
Number(要转换的数据)
    将数据转换为number类型  如果转换不了结果为NaN
  Number("12");
  总结:Number方法可以转换的有  string类型(纯数字,"") boolean类型(true false)
                                                  null
​
强制转换为string类型的方法有哪些
    String(要转换的数据)   要转换的数据.toString()//null和undefined没有toString
​
强制转换为boolean类型的方法有哪些
    Boolean(要转换的数据) 
  转为false的有:0 NaN  null undefined "";

2.运算符和表达式

2.1算术运算符

  • 算术运算符:+ - * / % ++ --

2.2赋值运算符

  • = += -+ *= /= %=

2.3比较运算符

>   <   >=    <=   ==  !=(不等于)  ===(恒等 全等)
 <script>
        //比较运算符 >   <   >=    <=   ==  !=(不等于)  ===(恒等 全等)
        console.log(30 > 20)//true;
​
        // 1.两个字符比较  如果是字符串比较 比较的是ASCII码值 一位一位的进行比较
        // "0"-48  "a"-97    "A"-65
        console.log("1000" > "20");//false
        console.log("1000" > "10");//true
        console.log("a" > "A");//true
​
        console.log("a" != "A");//true
​
        // 2.==和===的区别?面试题
        console.log(10 == 10);//true ==在进行比较的时候会进行隐式转换 尽量都会转为number
        console.log(10 == "10");//true
        console.log(10 === "10");//false ===在进行比较的时候不会隐式转换  只有左右两侧完全相等才是true
        console.log("10" === "10");//true 
​
​
        // 3.特殊情况 null在判断相等的时候  不会隐式转换
        console.log(null == 0);//false
        console.log(null >= 0);//true
        console.log(null <= 0);//true
        console.log(null == null);//true
        console.log(null == undefined);//true
    </script>

2.4逻辑运算符

  • &&(与) ||(或) !(非,取反的意思)

  • 基础用法

 // 1.基础用法
        // 1-1   表达式1&&表达式2  两真为真  只有两个表达式的值都为true 结果才为true
        var a = true && true;
        console.log(a);//true
        var b = false && true;
        console.log(b);//false
        var c = 100 > 90 && 100 > 0  //true  && true
        console.log(c)//true
​
        // 1-2 表达式1 || 表达式2  一真为真  只要有一个表达式的值为true  结果就为true
        var a = true || true;
        console.log(a);//true
        var b = true || false;
        console.log(b);//true
        var c = false || false;
        console.log(c);//false
        var d = 0 < 1 || 0 > 1;  //true || false
        console.log(d)//true
​
        // 1-3 ! 取反 结果true和false
        var a = true;
        console.log(!a);
        console.log(!1);//false
  • &&的短路情况

        // && 和 || 短路运算
        // &&短路运算  两真为真
        // 2-1如果第一个条件为false,第二个条件不再执行  执行到哪就把哪的结果为左侧
        var a1 = 1;
        var b1 = 1;
        var c1 = --a1 && --b1;// c1 =  0(false)         a1 = 0
        console.log(a1, b1, c1);// 0 1 0
        // 2-2 如果第一个条件为true 执行第二个条件  执行到哪就把哪的结果为左侧
        var a2 = 10;
        var b2 = 2;
        var c2 = --a2 && --b2;// c2  = 9 && 1   = 1           a2=9 b2=1
        console.log(a2, b2, c2);//9 1 1    
  • || 的短路情况

        // ||短路运算  一真为真
        // 3-1 如果第一个条件为false,再执行二个条件  执行到哪就把哪的结果为左侧
        var x1 = 1;
        var y1 = 10;
        var z1 = --x1 || --y1;// z1 = 0 || 9 = 9           x1 = 0  y1 = 9
        console.log(x1, y1, z1);// 0 9 9 
        // 3-2 如果第一个条件为true  第二个条件就不执行  执行到哪就把哪的结果为左侧
        var x2 = 10;
        var y2 = 10;
        var z2 = --x2 || --y2; // z2 = 9    x2=9
        console.log(x2, y2, z2);//9 10 9

2.5三目运算符

  • 表达式的值 ? 结果为true要执行的代码(只能写一行代码) :结果为false要执行的代码

 <script>
        //语法:表达式 ? 结果为true要执行的代码(只能写一行代码) :结果为false要执行的代码
        //你的money大于100000的时候 你可以娶媳妇  否则你就努力搬砖挣钱娶媳妇
        var price = 100001;
        price > 100000 ? console.log("娶媳妇") : console.log("搬砖挣钱");
​
</script>

3.流程控制语句

==流程控制语句 重在实际操作==

3.1流程控制语句

  • 顺序结构(从上往下执行

  • 选择结构(分支语句):if if-else if-else if -if switch

  • 循环结构:for while do-while for-in

3.2选择结构(分支语句)

3.2.1单分支

  • 语法:if(判断条件){ 条件成立执行的代码 }

​
  <script>
        // 1.if(判断条件){条件为true执行的代码}
        if (1 == 1) {
            console.log("条件为true");
        }
        if (1 === "1") {
            console.log("true");
        }
    </script>
​
  • 注意1:if后面的大括号可以省略 不加大括号只能控制紧跟的一句话;

// 注意1 if后面的大括号可以省略 不加大括号只能控制紧跟的一句话;
        if (true && false) console.log("快吃饭了");
        console.log(123);
  • 注意2:if条件不是必须是判断 只要结果能确定true和false都可以

				 // 注意2 if条件不是必须是true和false 只要能确定true和false都可以
        if (1) {
            console.log("true");
        }

        if (NaN) {
            console.log("true1");
        }

3.2.2双分支

  • 语法:if(判断条件){ 条件成立执行的代码 }else{条件不成立执行的代码 }

<script>
        if (true) {
            console.log("条件成立");
        } else {
            console.log("条件不成立")
        }

        if (null) {
            console.log("条件成立1");
        } else {
            console.log("条件不成立1")
        }

        // 注意  if和else是成对出现
        if (undefined) {

        }else {

        }
    </script>

3.2.3多分支

if(条件1){
  条件1成立执行的代码
}else if(条件2){
  条件2成立执行的代码
}else if(条件3){
  条件3成立执行的代码
}
......
else{  不是必须的
  //以上条件都不成立执行的代码
}
 // 1  上课   2 打游戏   7 睡觉   其他时间都在学习
        var day = 3;
        if (day == 1) {
            console.log("上课")
        } else if (day == 2) {
            console.log("打游戏")
        } else if (day == 7) {
            console.log("睡觉")
        } else {
            console.log("学习")
        }

3.2.4switch语句

switch(匹配条件){
  case 情况1: 匹配到情况1所执行的代码;break;
  case 情况2: 匹配到情况2所执行的代码;break;
  case 情况3: 匹配到情况3所执行的代码;break;
  case 情况4: 匹配到情况4所执行的代码;break;
  case 情况5: 匹配到情况5所执行的代码;break;
  .....
  default:上方所有情况都匹配不到的时候  执行这里
}
<script>
        //1---学习 2----打游戏   3-约会    6---睡觉
        var day = 1;
        switch (day) {
            case 1:
                console.log("学习"); console.log(123);
                break;
            case 2: console.log("打游戏"); break;
            case 3: console.log("约会"); break;
            case 6: console.log("睡觉"); break;
            default: console.log("摆烂");
        }
    </script>

4.循环结构

4.1for循环

  • 什么时候使用for循环

    • 多次重复执行

    • 多次有规律的执行

  • for的作用

    • 可以让特定的代码执行指定的次数

  • for循环的基础语法

for(表达式1;表达式2;表达式3;){
  重复执行的代码(循环体)
}

for(初始化循环变量;循环判断条件;更新循环变量;){
  循环体
}

//输出10次"今天要做核酸"
for(var i = 0;i<10;i++){
  console.log("今天要做核酸")
}
  • for循环的执行过程

//输出10次"今天要做核酸"
for(var i = 0;i<5;i++){  // i = 0 1 2 3 4 
  console.log("今天要做核酸")
}
//i最后一次的值是5


执行过程
	1.初始化循环变量  var i = 0
  2.判断循环条件    0<10
				条件成立  执行步骤3
        条件不成立  结束循环
  3.执行循环体
  4.更新循环变量   i++  	
  5.回到步骤2
<script>
        //输出10次"今天要做核酸"
        for (var i = 0; i < 5; i++) { //当i = 0 1 2 3 4
            console.log("今天要做核酸")
        }
        console.log(i);//i最后一次的值是5


        //输出10次"今天要做核酸"
        for (var i = 10; i < 15; i++) { //当i = 10 11 12 13 14 
            console.log("今天要做核酸");
        }

        console.log(i);//i最后一次的值是15


        for (var i = 0; i < 10; i += 2) { // i=0 2 4 6 8 
            console.log(i);//0  2  4  6  8
        }

        // 注意的点:一定要有结束条件,否者会造成死循环
    </script>

4.2循环添加点击事件

<body>
    <button>按钮1</button><button>按钮2</button><button>按钮3</button><button>按钮4</button><button>按钮5</button><button>按钮6</button><button>按钮7</button><button>按钮8</button><button>按钮9</button><button>按钮10</button>
    <script>
        //给10个button添加点击事件  输出结果1
        var btn = document.getElementsByTagName("button");
        // btn[0].onclick = function () {
        //     console.log(1);
        // }
        // btn[1].onclick = function () {
        //     console.log(1);
        // }
        // btn[2].onclick = function () {
        //     console.log(1);
        // }
        // // .....
        // btn[9].onclick = function () {
        //     console.log(1);
        // }


        // 下标 0 1 2 3 4.....9
        for (var i = 0; i < 10; i++) {// i = 0 1 2 3 4 5 6 7 8 9 10
            btn[i].onclick = function () {
                console.log(1);
            }
        }


        // 需求:点击button按钮 输出对应的下标i;点击第一个button 0 第二个button 1 第三个button 2
        for (var i = 0; i < 10; i++) {
            btn[i].onclick = function () {
                console.log(i);//10  
            }
        }
        //i 最后一次的值是10
        //for循环的目的是给10个button按钮添加添加事件 并不会触发点击事件中的代码  只有点击的button的时候才会执行  等到那个时候执行 i的值已经是10
    </script>

最后

以上就是俏皮香氛为你收集整理的JS学习第四天day04 运算符和流程控制语句的全部内容,希望文章能够帮你解决JS学习第四天day04 运算符和流程控制语句所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(41)

评论列表共有 0 条评论

立即
投稿
返回
顶部