2023 12.7笔记

本文详细介绍了JavaScript中的日期对象处理、字符串声明与操作(包括方法如charAt、indexOf等)、函数定义与调用、值传递与引用传递、作用域规则、函数作为参数、默认参数、arguements对象以及箭头函数和递归的概念。
摘要由CSDN通过智能技术生成

1. date:
   let date = new Date()  获取当前对应的时间对象
   let date = new Date("2024-01-01")  获取参数对应的时间对象

   let year = date.getFullYear()  年
   let mon = date.getMonth() + 1  月
   let day = date.getDate()  日
   let hour = date.getHours()  时        
   let mm = date.getMinutes()  分
   let ss = date.getSeconds()  秒
   let week = date.getDay()  星期几
   let ms = date.getMilliseconds()  毫秒数
   let ts = date.getTime()  获取时间戳(从1970-1-1 0;0:0到现在的毫秒数)

2. 字符串对象声明: 
   1、" "   ''   ``
      let str = '1111'
   2、let str1 = new String("hello")
   3、let str2 = String("hello")
      console.log(str2.length)  5     

3. 字符串的方法:
   let str = "nanhangjincheng"
   console.log(str.charAt(4))  a
   console.log(str.indexOf("h"))  3
   console.log(str.lastIndexOf("h"))  11

   连接字符串:(和+的作用类似)
   let str1 = "nanhang"
   let str2 = "jincheng1234"
   let str3 = str1.concat(str2) 
   console.log(str3)

   //  正则表达式
   console.log(str3.match(/\d/g))  \d 拿出所有数字
   console.log(str3.match(/a/g))  a 拿出所有a
 
   使用正则替换原来的内容:ctrl+h 
   console.log(str3.replace(/a/g, "#"))  将a替换成#

   slice()
   console.log(str3.slice(1, 4))  截取字符串
   split("n")  可将字符串切割成数组
   console.log(str3.split("n"))  以n分割其他字符串,但结果不包含n,故可以以" "来分割
   console.log(str4.join("#"))  在每个字符串之间加入#

   console.log(str3.toUpperCase())  转大写
   console.log(str3.toLowerCase())  转小写

   练习:
   let str5 = "zhangsan"
   let aaa = str5.split("")  字符串变数组  
   console.log(aaa)
   let bbb = aaa.reverse()  数组方法
   console.log(bbb)
   console.log(bbb.join(""))  数组变字符串

4. 函数:一段独立功能的代码的集合
   let a = getSum(4, 5)
   function getSum(num1, num2) {
        console.log(num1 + num2)
        return num1 + num2  一个函数没有return的情况下,默认返回的是undefined  
   }
   getSum(3,4)  函数调用  可不加return
   console.log(getsum)
   let sum = getSum(3, 4)  要加return,但return后的代码不会再执行
   console.log(sum)

5. 值传递和引用传递:

6. 全局作用域:
   let a = 1  外面可访问
   函数作用域:
   function fn() {
       let num = 1  外面不可访问
   }

7. 函数作为参数进行传递:
   function fn1() {
        console.log("我是第一个函数")
   }
     
   function fn2(a) {
        a()
        console.log("我是函数2")
   }
      fn2(fn1)

8. 默认参数:
   function area(r, PI = 3.14) {
            return PI * r * r
   }
   console.log(area(1))

9. arguements:(将用户所有的参数都存储到伪数组中)
   function getSum() {
        return a + b
        console.log(arguments)
   }
        console.log(getSum(1, 2, 3, 4))  1 2 3 4

   练习:
   function getSum() {
        let sum = 0
        for (let i in arguments) {
           sum += arguments[i]
        }
            return sum
   }
        console.log(getSum(1, 2, 3, 4))  10

10. 匿名函数、函数表达式:
    let a = function () {
        console.log("666");
    }
        a()

11. 箭头函数:
    function fn(){
        alert("hello")
    }
    let fn = () => alert("hello")

    function fn(x) {
            return x + 5
    }
    let fn = (x) => x + 5  形参有一个,()可省略

    let fn1 = (x, y) => {  有很多行代码要加花括号
        let f = 6
        return x + y + z  超过一行代码的返回要return
    }

12. 递归:函数自身调用自身
    function jc(n) {
         if (n === 1) {
           return 1
         } 
         else {
           return jc(n - 1) * n
         }
    }
      console.log(jc(3))
 

  • 7
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值