8.2js循环、对象

发布于:2023-02-02 ⋅ 阅读:(505) ⋅ 点赞:(0)

一、循环

1.跳出循环(使用break和continue跳出循环)

break与continue的区别

  • break语句跳出整个循环,循环不在继续
  • continue语句跳出本次循环,执行下一次循环,直到循环结束

实例:continue实例(输出1-100之间的所有偶数)

      for (var i = 1; i < 101; i++) {
            if (i % 2 != 0) {
                continue

            }
            console.log(i)
        }

效果:

实例:break实例(1-100内第一可以被3和7整除的数)

   for (var i = 1; i < 101; i++) {
            if (i % 3 == 0 && i % 7 == 0) {
                console.log(i)
                break

            }

        }

效果:

 2.嵌套循环

  嵌套循环执行时,先通过外层循环进入循环体,在内层循环结束后,程序会再次执行外层循环

实例:(1-100之间的质数)

   //输出1-100之间的质数
        //嵌套循环执行时,先通过外层循环进入循环体,在内层循环结束后,程序会再次执行外层循环
        for (var i = 2; i < 101; i++) {
            // console.log(i)
            var count = 0; //用来被整除的次数
            //当前整数i与2-(i-1)之间的整数进行取余,如果余数为0,怎当前i不是质数
            for (var j = 2; j < i; j++) {
                if (i % j == 0) {

                    count++
                }
            }
            //如果是质数就不会进入上一个if所以count值就为0
            if (count == 0) {
                //输出质数
                console.log(i)
            }
        }

效果:

 2.使用嵌套循环制作99乘法表

      for (var i = 1; i < 10; i++) {
            // console.log(i)
            for (var j = 1; j <= i; j++) {
                document.write(j + "*" + i + "=" + i * j + "&nbsp&nbsp&nbsp")
            }
            document.write("<br>")
        }

效果:

二、对象 

1.Math

  • Math.PI :圆周率

  • Math.max:求最大值

  • Math.min:求最小值

  • Math.random:随机数  [0,1)  (大于等于0小于1)

  •  Math.floor:向下取整(取小于该数的最大整数)

  • Math.ceil:向上取整(取大于该数的最小整数)

实例:(猜数字游戏)

  var randow = Math.floor(Math.random() * 10 + 1);
        var num = parseInt(prompt("请随机输入1-10的整数"))
        for (var i = 0; i < 5; i++) {
            if (num > randow) {
                alert("您输入的数字太大了请重新输入")
                num = parseInt(prompt("请随机输入1-10的整数,还剩" + (5 - (i + 1)) + "次机会"))
            } else if (num < randow) {
                alert("您输入的数字太小了请重新输入")
                num = parseInt(prompt("请随机输入1-10的整数,还剩" + (5 - (i + 1)) + "次机会"))
            } else {
                alert("恭喜您输入正确")
                break
            }
        }

效果:

  2.Date

获取当前时间:var now = new Date()

  • getTime():返回毫秒

  • getFullYear():返回年份

  • getMonth():返回月份(由于月份是从0开始所以要+1:例:now.getMonth() + 1)

  • getDate():返回天数

  • getHours():返回小时

  • getMinutes():返回分钟

  • getSeconds():返回秒

由于月份是从0开始所以我们要给月份格式(日期相同)

  •  month = month > 10 ? month : "0" + month    格式化月份

  •  data = data > 10 ? data : "0" + data     格式化日期

实例(显示格式:2022-08-02-17:36:53)

      var now = new Date()

        //年
        var year = now.getFullYear()
            //月
        var month = now.getMonth() + 1
            //天
        var data = now.getDate()
            //小时
        var hour = now.getHours()
            //分钟
        var min = now.getMinutes()
            //秒
        var sec = now.getSeconds()
            //格式化月份
        month = month > 10 ? month : "0" + month
            //格式化日期
        data = data > 10 ? data : "0" + data
            //2022-08-02-17:36:53
        var ti = year + "-" + month + "-" + data + "-" + hour + ":" + min + ":" + sec;
        console.log(ti)

效果:

实例2:模拟朋友圈发布时间

  //模拟朋友圈发不时间
            //获取当前时间
        var now = new Date()
            //获取朋友圈发不时间
        var fbtime = new Date("2022-08-02 15:20:12")
            //转换成毫秒
        now = Date.parse(now)
        fbtime = Date.parse(fbtime)
            // console.log(now)
            // console.log(fbtime)
            //计算时间差
        var time = now - fbtime;
        // console.log(time)
        //转换成秒
        var secondTime = parseInt(time / 1000)
            //转换成分钟
        var minuetsTime = parseInt(time / 1000 / 60)
            //转换成小时
        var minTime = parseInt(time / 1000 / 60 / 60)
            //转换成天
        var dataTime = parseInt(time / 1000 / 60 / 60 / 24)
        console.log(secondTime)
        console.log(minuetsTime)
        console.log(minTime)
        console.log(dataTime)
            //使用分支语句,根据不同情况判断出不同结果
        if (dataTime >= 1) {
            console.log(dataTime + "天前")
        } else if (minTime > 0 && minTime < 24) {
            console.log(minTime + "小时前")
        } else if (minuetsTime > 0 && minuetsTime < 60) {
            console.log(minuetsTime + "分钟前")
        } else if (secondTime > 0 && secondTime < 60) {
            console.log(secondTime + "秒前")
        }

效果)(可以更改发布时间):

 2.定时器

  • setInterval:按照指定的周期(以毫秒计)来调用函数或计算表达式。方法会不停地调用函数,直到 clearInterval() 被调用或窗口被关闭
  • 在指定的毫秒数后调用函数或计算表达式

实例:(倒计时)

   var count = 5
        var tiem = setInterval(function() {
                if (count > 0) {
                    console.log(count)
                    count--
                } else {
                    clearInterval(tiem)
                }
            }, 1000)

效果:

 3.String

  • substring():从开始位置截取,到指定位置结束,但取不到结束位置的字符

  • substr():从开始位置截取,截取指定长度的字符串

  • concat():拼接字符到尾部

  • slice():slice和substring比较相似

  • indexOf():返回是一个字符串的第一个索引值,还可以判断某个字符是否在字符串中

  • replace():替换满足条件的第一个字符

实例1:(替换)

 var str = "Hello world";
        for (var i = 0; i < str.length; i++) {
            str = str.replace("l", "*")
        }
        console.log(str)

效果:

实例2:(查找出现的位置)

   var str = "Hello world";
        for (var i = 0; i <= str.length; i++) {
            if (str[i] == "l") {
                console.log(i)
            }
        }

效果:

 

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到