作业、笔记

周一笔记

1、for循环:
  for(临时变量;循环条件;条件变更){
           循环体
  }

  for(let i=0;i<=100;i++){
      document.write(i)
  }

2、while循环:
    声明变量(变量的起始值)
  while(条件){
           循环体
           变量的变化
  }

  let i=1
  while(i<=10){
      document.write(`${i}<br>`)
      i++
  }

3、do...while循环 :
    声明变量 
  do{
         循环体 
         变量的变化
  }while(条件)

4、数组:(数组是一组数据的集合,在内存中是一段连续的内存空间)
   直接通过[]声明 一个数组 
 let arr=["zhangsan","lisi",1,2,3,4,true,"wangwu"]
  读取数组中元素 
(1)数组名[下标](数组中下标从0开始)
      alert(arr[0])
(2)Array

5、数组的遍历:
<1>基于循环:
  let arr=["zhangsan","lisi",1,2,3]
  for(let i=0;i<arr.length;i++){
      document.write(arr[i])
  }
<2>循环加强:
(1)for in
    for(let i in arr){
        console.log(alert[i])
    }
(2)for of
    for(let i of arr){
        console.log(i)
    }

6、数组的常见方法:
(1)添加(向数组的开头或结尾添加一个或多个元素)
   let arr=[1,2,3,4,5]
   arr.unshift("zhangsan",1)
   arr.push("lisi")
(2)删除(删除并返回 数组的第一个或最后一个元素 )
   arr.shift()
   arr.pop()
(3)灵活删除或添加数组的元素
   splice(删除位置的数组下标,删除几个元素 )
   arr.splice(4,1)
      splice(要添加元素的位置的数组下标 ,0,添加的元素)
   arr.splice(4,0,"zhangsan")
(4)合并 (连接两个或多个 数组,并且返回结果)
   let arr2=[666,777]
   let arr3=arr.concat(arr2)
(5)连接(把数组中的所有元素放到一个字符串中,并可以指定连接符 ,不影响原来数据)
   let arr4=arr.join("*")
(6)翻转
   arr.reverse()
(7)截取(从第几个开始截取)
   arr.slice(4)
(8)排序
   let b=["a","c","b","c","c"]
   let c=b.sort()
(9)返回对象的值
   c.valueOf()
(10)返回下标(返回第一个或最后一个所需元素的下标)
   alert(c.indexOf("c"))
   alert(c.lastIndexOf("c"))

7、Math
(1)e的值
        console.log(Math.E)
(2)π的值
    console.log(Math.PI)
(3)
       console.log(Math.SQRT2)
(4)向下取整
        let a=-3.666664
    console.log(Math.floor(a))
(5)向上取整
        console.log(Math.ceil(a))
(6)取绝对值
    console.log(Math.abs(a))
(7)取最大值或最小值 
    console.log(Math.max(1,2,3,4,22))
    console.log(Math.min(1,2,3,4,22))
(8)取随机数 
    console.log(Math.random())
(9)四舍五入
    console.log(Math.round(3.14))
(10)开平方根
    console.log(Math.sqrt(9))
(11)幂次方(第一个数是底数,第二个数是指数)
    console.log(Math.pow(9,2))

8、break、continue:
  break:跳出整个循环 
  continue:跳出本次循环,直接开始下一次循环 

周三笔记

1、date:
获取当前时间对应的时间对象
  let date=new Date()

  let year=date.getFullYear()

  let month=date.getMonth()+1

  let day=date.getDate()

  let hour=date.getHours()

  let min=date.getMinutes()

  let s=date.getSeconds()
星期
  let week=date.getDay()  
毫秒
   let ms=date.getMilliseconds()
时间戳 (1970-1-1 0:0:0到当前时间对应的毫秒数)
   let tt=date.getTime()

2、字符串对象:
(1)''   ""   ``    
(2)String:
    let str1=new String("zhangsan")
    let str2=String("nhjcxy")
(3)length:(返回字符串的长度)
    console.log(str1.length)

3、字符串的方法:
(1)获取下标对应的字符
   let str="nanhangjincheng"
   console.log(str.charAt(4))
(2)从左到右找到第一个或最后一个满足这个字符的下标
   console.log(str.indexOf("a"))
   console.log(str.lastIndexOf("a"))
(3)拼接字符串
   let str1="nanhang"
   let str2="jincheng"
   let str3=str1.concat(str2)
   console.log(str3)
(4)正则匹配  (匹配到字符串中想要的内容)
   let a=str.match(/a/g)
   console.log(a)
(5)正则替换
   alert(str.replace(/a/g,"-------"))
(6)截取一段
   console.log(str.slice(2,4))
(7)分割字符串 (按照特定的符号分割字符串)
   let str4="nanhang jincheng"
   console.log(str4.split(" "))
(8)拼接
   let b1=str4.split("")
   console.log(b1.join(""))
(9)转大小写
   console.log(str.toUpperCase())
   console.log(str.toLowerCase())

4、函数:(函数就是 一段具有独立功能的代码的集合)
  function 函数名(参数){
                  代码块 
  }

  function getSum(a,b){
      alert(a+b)
      return a+b
  }
  let num=getSum(1,2)
  consloe.log(num)

注:函数提升(函数在声明之前可以调用,但必须有声明)

5、值传递、引用传递:
(1)值传递:
  let a=1
  let b=2
  function change(num1,num2){
      num1+=2
      num2+=2
  }
  change(a,b)
  console.log(a)
  console.log(b)
注:只将1和2的值复制一份传递
(2)引用传递:
  let arr=[1,2,3,4]
  function change(num1){
      num1.push(100)
  }
  change(arr)
  console.log(arr)

6、作用域:(名字生效的范围)
(1)全局作用域
(2)函数作用域(局部变量)(弹栈)

7、函数作为参数进行传递:
  function a(){
     console.log("我是函数a:")
 }
 function b(){
     fn()
     console.log("我是函数b:")
 }
 b(a)

8、默认值参数:(默认值参数放在所有参数的最后面)
  function a(r,PI=3.14){
      alert(PI*r*r)
  }
  a(3)

9、arguements对象:(接收用户传进来的所有数据)
 function getSum(){
     let sum=0
     for(let i in arguments){
         sum+=arguments[i]
     }
     return sum
 }
 let a=getSum(1,2,3,34,859,93)
 console.log(a)

10、匿名函数:
  function (){
      函数块       
  }

11、箭头函数 :
    let fn=(x)=>x+5
  alert(fn())

  let myFn=(x,y)=>{
      let z=2
      return (x+y)*z
  }
  alert(myFn(1,2))

12、递归:(函数自身调用自身)(要有递归出口)
  function jieCheng(n){
      if(n===1){
          return 1
      }else{
          return jieCheng(n-1)*n
      }
  }
  console.log(jieCheng(3))

作业

//1
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    
    <script>
        function multiply(){
            let result=1
            for(let i=0;i<arguments.length;i++){
                result*=arguments[i]
                return result
            }
        }
    </script>
</body>
</html>

//2
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>

    <script>
        function a(){
            let num=[]
            let numw7=[]
            for(let i=0;i<=100;i++){
                if(i%7==0){
                    num.push(i)
                }
                if(i.toString().includes('7')){
                    numw7.push(i)
                }
            }
            return(num,numw7)
        }
    </script>
</body>
</html>

//3
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    
    <script>
        function rabbitCount(n) {
            if (n <= 0 || n > 20) {    
                console.log("Invalid input!")
                return
            }    
            let rabbits = [1]     
            for (let i = 1; i < n; i++) {    
                rabbits.push(rabbits[i - 1] + (i >= 4 ? rabbits[i - 3] : 0));  
            }    
            return rabbits[n - 1]
        }
        console.log(rabbitCount(n))
    </script>
</body>
</html>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值