--- JavaScript 的一些常用语法总结 ---

  • JavaScript

    • 变量和常量

      • let修饰变量

      • const修饰常量

    • 模板字符串

      • 使用''定义字符串,可以在符号中使用${}来表示需要动态添加的元素,还可以使用lambda表达式
    • 对象

      • 使用{}来定义对象,字段用k v表示,key:value,如果value为变量,那么可以省略key

      • 值的获取,obj.key 或者 obj[key] 获取,如果key是一个变量,那么只能使用obj[key]来获取 比如x=key 可以obj[x] 但是不能obj.x

    • 解构赋值

      • 对数组,使用[xx,xx]来对数组进行复制,方括号中的元素和数组中元素位置一一对应

        • let arr = [5,6,7] [a,b,c] = arr 也可以 [,a,b] = arr 还可以[a,...b] = arr 这样a取剩下的元素就全给b了
      • 对对象,使用{}来对对象进行结构赋值

        • let obj = { name = "hhh",age = 18} 在获取其元素 {name,age} = obj, 完整写法是{name:name1,age:age1} = obj 从obj中去到name赋给name1 也可以使用...来讲剩下的元素合并复制了 {name,...age1} = obj
    • 箭头函数

      • 使用()=> {} 来表示一个函数表达式,(a,b)=> { return a - b} 如果返回值只有一行的话 可以省略{},同时return也要省略, (a,b)=> a - b, 如果只有一个人参数,小括号也能省略 a => a * 2
    • 数组的重要方法

      • 遍历foreach

        • foreach (item,index,array){ item 当前遍历到的元素 index 当前元素下标 array 数组 }
      • 过滤filter

        • filter(a,b)=> { return true :false} 如果是false就过滤这个元素
      • 映射 map 在原来数组的基础上创建一个新的数组,这个新的数组元素可以和旧数组元素一一映射上

        • map((item,index,array)=>{return xx})这个xx就代表了返回的数组映射的元素
      • 尾插 push

      • 头插 unshift

      • 尾删 poll

      • 头删 shift

      • 任意位置的删除splice

        • splice(index,delcount,additem,additem,...)在index这个位置开始,删除delcount个元素,之后的是在这个位置添加元素
      • 检查元素是否存在 includes

      • 检测数据中的所有元素是否满足要求 every

        • every((item,index,array)=> { return Boolean})如果是false说明有一个元素不符合要求,于是方法退出并返回false
      • reduce 汇总 计算整个数组元素

        • reduce((prev,item,index,array)=>{},prev),第一个是一个函数表达式,在这个函数表达式中就可以进行一些对数组参数的计算,他的返回值会给到prev这个参数,最后reduce就返回的是prev这个参数
    • 类的重要方法

      • 对象的key keys

        • Object.keys(obj) 放回的是对象的所有key
    • 扩张运算符

      • 语法 ...

        • 复制合并数组

          • arr = [...arr1] 复制数组 合并数组 arr = [...arr1, ...arr2]
        • 复制合并对象

          • obj = {...obj1} 复制一个obj1 obj= {...obj1, ...obj2} 和并obj1 obj2的k v 对于相同的key obj2会覆盖obj1
    • 序列化和反序列化

      • 序列化JSON.stringify 反序列化JSON.parse
    • web 储存

      • localStorage 本地储存不会过期 只有js自己删除或者是清除本地缓存 sessionStorage 会话储存在浏览器未关闭之前不会过期,页面的关闭和恢复都还会有效

        • 储存 localStorage.setItem(key, value) 删 localStorage.removeItem(key) 查 localStorage.getItem(key)
    • 解决回调地狱

      • promise

        • 通过将异步代码封装,简化调用

          • let po = new Promise((resolve, reject)=>{ //Promise中的箭头函数由俩个参数 //resolve 表示异步代码执行成功 //reject 表示执行失败 }) // 返回一个对象,通过调用then来知道当前promise的执行状况 成功执 //行第一个回调函数 失败执行第二个 po.then(()=>{}, ()=>{})
      • await async

        • 通过在Promise类前面加上await修饰 他直接返回的是promise 的resolve函数的参数,那么就可以根据获取到的参数来决定执行逻辑了,然后await必须要在async修饰的方法中运行,async会让所有修饰了await的异步代码变为串行执行

          • async functon fn(n){ let po = await Promise((resolve)=>{setTimeout(()=>{ resolve(n); }, 1000)); console.log(po) let po1 = await Promise((resolve)=>{setTimeout(()=>{ resolve(n); }, 1000)}) console.log(po) }
    • 模块化

      • 对JavaScript的功能分模块,更加方便管理和开发

        • 使用npm init 初始化项目获取获取到一个package.json 的文件,创建index.js来作为代码的入口 使用 node .\index/js 来运行代码

          • 默认导入和导出 导出 export default fn(){} default只能有一个 导入 import xx form package.js 这个xx就对应了default字段修饰的元素

          • 按需导入和导出 导出 export fn(){} 导出 import {fn, xx} from package.js fn这些名字都是一一对应的

相关推荐
毕设源码-郭学长24 分钟前
【开题答辩全过程】以 高校图书推荐系统的设计与实现为例,包含答辩的问题和答案
java
主公不搬砖24 分钟前
Nacos 2.5.2 国产信创 kingbase适配
java·docker·nacos·信创·kingbase·国产适配
谷隐凡二1 小时前
Kubernetes Route控制器简单介绍
java·容器·kubernetes
ssshooter1 小时前
复古话题:Vue2 的空格间距切换到 Vite 后消失了
前端·vue.js·面试
Haooog1 小时前
RAG医疗问答系统
java·大模型·项目·rag
IamZJT_1 小时前
拒绝做 AI 的“饲养员” ❌:前端程序员在 AI 时代的生存与进化指南 🚀
前端·ai编程
luming-021 小时前
报错解决:IDEA终端输出和CMD终端输出Maven版本不一致
java·缓存·bug·intellij-idea
MM_MS1 小时前
Halcon控制语句
java·大数据·前端·数据库·人工智能·算法·视觉检测
一碗绿豆汤1 小时前
Java语言概述和开发环境-1
java·开发语言
程序员Agions1 小时前
程序员武学修炼手册(二):进阶篇——小有所成,从能跑就行到知其所以然
前端·程序员