前端-ES6
let 和 const
为了解决var的作用域的问题,而且var 有变量提升,会出现全局污染的问题
- let 块状作用域,并且不能重复声明
- const 一般用于声明常量,一旦被声明无法修改,但是const 可以声明一个对象,对象内部的属性是可以修改的
建议: 在默认的情况下用const, 而只有你知道变量值需要被修改的情况下才使用let
模板字符串
解决字符串拼接问题,类似Java中的占位符号
函数之默认值、剩余参数
// 默认值
function add(a, b = 20) {return a + b
}// 默认的表达式也可以可以是一个函数
function add(a, b = getVal(5)) {return a + b
}// 剩余参数:由三个点... 和一个紧跟着的具名参数指定 ...keys
function foundData(obj, ...keys){}
函数扩展运算符、箭头函数
// 扩展运算符: 将一个数组分割,并将各个项作为分离的参数传给函数
// 获取数组中的最大值
const arr = [10,20,90,30]
// ES5
Math.max.apply(null, arr)// ES6
Math.max(...arr)// 箭头函数
const add = (a, b) =>{return a + b
}const add val => {return a + 5
}const add val => (a + 5)
解构赋值
// 解构赋值时对赋值运算符的一种扩展
let node = {name: '张三',age: 45
}
const name = node.name
const age = node.age// 等价写法
const {name, age } = node// 对数组解构
let arr = [1,2,3]
let[a,b] = arr// 可嵌套解构
let [a,[b],c] = [1,[2],3]
扩展对象的功能
// 对象的方法
// is() ==== 比较俩个值是否严格相等
Object.is(NaN, NaN)// assign() 对象合并
let newObj = Object.assign({},{a:1},{b:2})
// 重复的属性,只会保留一个,会被覆盖掉
Object.assign({},{a:1},{b:2},{b:2})
{a: 1, b: 2}
// 属性名称一样,但是值不一样,会回去最后的值
Object.assign({},{a:1},{b:2},{b:3})
{a: 1, b: 3}
Symbol类型
// 原始的数据类型Symbol,它表示独一无二的值
// 最大的用途:用来定义对象的私有变量
set集合数据类型
// 可以用于去除重复元素
let set2 = new Set([1,2,3,3,3,3,4])// 也可以将set集合中的元素在转换为数组
let arr = [...]// set中对象的引用无法被释放,虽然可以使用WeakSet, 但是WeakSet比Set少了很多方法
Map数据类型
数组的扩展方法
数组的方法 from() of()
// from() 将伪数组转换成真正的数组
function add(){let arr = Array.from(arguments)// 这时候的数组就具备数组的所有方法
}let lis = document.querySelectorAll('li')
console.log(Array.from(list))
// 或者可以通过扩展运算符转换为真正的数组
console.log([...lis])// from() 还可以接受第二个参数,用来对每个元素的处理
let liContents = Array.from(lis, ele => ele.textContent)// of() 将任意的数据类型,转换成数组
Array.of(3,11,20,[1,2,3])// find() findIndex()
// find() 找出第一个符合条件的数组成员
let num = [1,2,-10,-20,9].find(n => n<0)// findIndex() 找出第一个符合条件的数组成员的索引
let num = [1,2,-10,-20,9].findIndex(n => n<0)// entries() keys() values()
for(let index of ['a', 'b'].keys()){console.log(index)
}for(let ele of ['a', 'b'].values()){console.log(ele)
}// incluedes() 返回一个boolean 值,表示某个数组中是否包含某个元素
迭代器Interrator 的用法
// Iterator 一种遍历机制
const items = ['one', 'two', 'three']
const ite = items[Symbol.iterator]();
// {value: "one", done: false} done 如果为false表示还有元素,如果为true 表示遍历完成结束了
ite.next()
Generator的应用
// 生成器一般都和迭代器一起使用
// generator函数, 可以通过yield关键字,将函数挂起,为了改变执行流提供了可能性
// 同时为了做异步编程提供了方案
// 它跟普通函数的区别
// 1.function 后面函数名之前有*号
// 2.只能在函数内部使用yield表达式,让函数挂起function* func(){console.log('one')yield 2;console.log('two')yield 3;console.log('end')
}
// 返回一个遍历器对象 可以调用next()
let fn = func();
console.log(fn.next())
console.log(fn.next())
console.log(fn.next())
Promise的基本使用
// 相当于一个容器,保存这未来才会结束的事件(异步操作)的一个结果
// 各种异步的操作都可以用同样的方法进行处理// 对象的状态不受外界的影响 处理异步操作三个状态 Pending Resolved Rejected
// 一旦状态改变,就不会在变,任何时候都可以得到这个结果// then() 第一个参数是resolve 回调函数,第二个参数是可选的 是reject 状态的回调函数
// then() 返回的是一个新的Promise示例,所以可采用链式编程// catch() 用于捕获异常信息// 1.resolve() 可以直接将一个对象转换为Promise对象
// 2.all() 同时执行多个promise 对象
// 3.race() 某个异步请求设置超时时间,并且在超时后执行响应的操作
async 的用法
// 异步操作更加方便
// 基本操作 async 它会返回一个Promise对象
async function f(){let s = await 'hello'let data = s.split('')return data;
}
// 如果async 函数中有多个await 那么 then 函数会等待所有的await指令,运行完成,知道遇到return
f().then(v => {console.log(v)})
相关文章:
前端-ES6
let 和 const 为了解决var的作用域的问题,而且var 有变量提升,会出现全局污染的问题 let 块状作用域,并且不能重复声明const 一般用于声明常量,一旦被声明无法修改,但是const 可以声明一个对象,对象内部的…...

169. 多数元素(摩尔投票法) 题解
题目描述:169. 多数元素 - 力扣(LeetCode) 给定一个大小为 n 的数组 nums ,返回其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素。 你可以假设数组是非空的,并且给定的数组总是存在多数元素。 示…...
python中的cnn:介绍和基本使用方法
python中的cnn:介绍和基本使用方法 卷积神经网络(Convolutional Neural Networks,简称CNN)是一种在图像识别、语音识别、自然语言处理等许多领域取得显著成功的深度学习模型。CNN的设计灵感来源于生物的视觉系统,由多…...

Dockerfile概念、镜像原理、制作及案例讲解
1.Docker镜像原理 Linux文件操作系统讲解 2.镜像如何制作 3.Dockerfile概念 Docker网址:https://hub.docker.com 3.1 Dockerfile关键字 4.案例...

07-微信小程序-注册页面-模块化
07-微信小程序-注册页面 文章目录 注册页面使用 Page 构造器注册页面参数Object初始数据案例代码 生命周期回调函数组件事件处理函数setData()案例代码 生命周期模块化 注册页面 对于小程序中的每个页面,都需要在页面对应的 js 文件中进行注册,指定页面…...

考研算法第46天: 字符串转换整数 【字符串,模拟】
题目前置知识 c中的string判空 string Count; Count.empty(); //正确 Count ! null; //错误c中最大最小宏 #include <limits.h>INT_MAX INT_MIN 字符串使用发运算将字符加到字符串末尾 string Count; string str "liuda"; Count str[i]; 题目概况 AC代码…...
Cesium for unity 1.5.0使用注意事项
Cesium for Unity Quickstart – Cesium 1.Unity版本仅支持Unity2021.3.2f1以后版 2.仅支持 3D (URP)和3D (HDRP)渲染管线 3.如果Package Manager中不出现My Registries选项,请在 Edit > Project Settings...>Package Manager中重命名或删除重新添加Packag…...

初阶C语言-结构体
🌞 “少年有梦不至于心动,更要付诸行动。” 今天我们一起学习一下结构体的相关内容! 结构体 🎈1.结构体的声明1.1结构的基础知识1.2结构的声明1.3结构成员的类型1.4结构体变量的定义和初始化 🎈2.结构体成员的访问2.1结…...

Android Studio实现解析HTML获取图片URL,将URL存到list,进行瀑布流展示
目录 效果展示build.gradle(app)添加的依赖(用不上的可以不加)AndroidManifest.xml错误代码activity_main.xmlitem_image.xmlMainActivityImage适配器ImageModel 接收图片URL效果展示 build.gradle(app)添加的依赖(用不上的可以不加) dependencies {implementation co…...

java学习004
常用数据结构对应 php中常用的数据结构是Array数组,相对的在java开发中常用的数据结构是ArrayList和HashMap,它们可以看成是array的拆分,一种简单的对应关系为 PHPJAVAArray: array(1,2,3)ArrayListlArray: array(“name” > “jack”,“…...

Linux网络编程:网络基础
文章目录: 1.协议 2.锁 3.网络层次模型 4.以太网帧和ARP协议 5.IP协议 6.UDP协议 7.TCP协议 8.BS模式和CS模式 9.网络套接字(socket) 10.网络字节序 11.IP地址转换函数 12.sockaddr地址结构 学习Linux的网络编程原则上基于:Linux的系统编程…...

3D沉浸式旅游网站开发案例复盘【Three.js】
Plongez dans Lyon网站终于上线了。 我们与 Danka 团队和 Nico Icecream 共同努力,打造了一个令我们特别自豪的流畅的沉浸式网站。 这个网站是专为 ONLYON Tourism 和会议而建,旨在展示里昂最具标志性的活动场所。观看简短的介绍视频后,用户…...

IO的几个模型
I/O模型名词介绍 说到I/O模型,都会牵扯到同步、异步、阻塞、非阻塞这几个词,以下讲解这几个词的概念。 阻塞和非阻塞 阻塞和非阻塞指的是一直等还是可以去做其他事。 阻塞(blocking):调用结果返回之前,…...

中路对线发现正在攻防演练中投毒的红队大佬
背景 2023年8月14日晚,墨菲安全实验室发布《首起针对国内金融企业的开源组件投毒攻击事件》NPM投毒事件分析文章,紧接着我们在8月17日监控到一个新的npm投毒组件包 hreport-preview,该投毒组件用来下载木马文件的域名地址竟然是 img.murphys…...

【LINUX相关】生成随机数(srand、/dev/random 和 /dev/urandom )
目录 一、问题背景二、修改方法2.1 修改种子2.2 使用linux中的 /dev/urandom 生成随机数 三、/dev/random 和 /dev/urandom 的原理3.1 参考连接3.2 重难点总结3.2.1 生成随机数的原理3.2.2 随机数生成器的结构3.2.3 二者的区别和选择 四、在代码的使用方法 一、问题背景 在一个…...
spark使用心得
spark入门 启停spark sbin/start-all.shsbin/stop-all.shspark-shell 进入spark/bin目录,执行: ./spark-shell 输出中有这么一行: Spark context Web UI available at http://xx.xx.xx.188:4040意味着我们可以从web页面查看spark的运行情…...
什么是边车
名词和概念定义 Sidecar:边车。微服务中数据平面的进程,负责转发应用、服务请求,并支持限流、熔断、负载均衡等特性。 Control-plane: 控制平面。微服务的配置中心,负责配置下发、数据搜集、服务发现等功能。 应用: 应用是指服务…...
vue项目打包成exe文件
1. 获取electron-quick-start demo git clone https://github.com/electron/electron-quick-start2. 安装依赖包 npm install 或 npm i // 安装依赖时可能会遇到node版本的问题,需要切换node版本的可以先看下nvm,简单易操作3. 打包项目(需要…...

基于MFCC特征提取和GMM训练的语音信号识别matlab仿真
目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 4.1 MFCC特征提取 4.2 Gaussian Mixture Model(GMM) 4.3. 实现过程 4.4 应用领域 5.算法完整程序工程 1.算法运行效果图预览 2.算法运行软件版本 matlab2022a 3…...

client-go实战之十二:选主(leader-election)
欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 本篇概览 本文是《client-go实战》系列的第十二篇,又有一个精彩的知识点在本章呈现:选主(leader-election)在解释什么是选主之前&…...

接口测试中缓存处理策略
在接口测试中,缓存处理策略是一个关键环节,直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性,避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明: 一、缓存处理的核…...
PHP和Node.js哪个更爽?
先说结论,rust完胜。 php:laravel,swoole,webman,最开始在苏宁的时候写了几年php,当时觉得php真的是世界上最好的语言,因为当初活在舒适圈里,不愿意跳出来,就好比当初活在…...
在四层代理中还原真实客户端ngx_stream_realip_module
一、模块原理与价值 PROXY Protocol 回溯 第三方负载均衡(如 HAProxy、AWS NLB、阿里 SLB)发起上游连接时,将真实客户端 IP/Port 写入 PROXY Protocol v1/v2 头。Stream 层接收到头部后,ngx_stream_realip_module 从中提取原始信息…...

UR 协作机器人「三剑客」:精密轻量担当(UR7e)、全能协作主力(UR12e)、重型任务专家(UR15)
UR协作机器人正以其卓越性能在现代制造业自动化中扮演重要角色。UR7e、UR12e和UR15通过创新技术和精准设计满足了不同行业的多样化需求。其中,UR15以其速度、精度及人工智能准备能力成为自动化领域的重要突破。UR7e和UR12e则在负载规格和市场定位上不断优化…...
实现弹窗随键盘上移居中
实现弹窗随键盘上移的核心思路 在Android中,可以通过监听键盘的显示和隐藏事件,动态调整弹窗的位置。关键点在于获取键盘高度,并计算剩余屏幕空间以重新定位弹窗。 // 在Activity或Fragment中设置键盘监听 val rootView findViewById<V…...

【开发技术】.Net使用FFmpeg视频特定帧上绘制内容
目录 一、目的 二、解决方案 2.1 什么是FFmpeg 2.2 FFmpeg主要功能 2.3 使用Xabe.FFmpeg调用FFmpeg功能 2.4 使用 FFmpeg 的 drawbox 滤镜来绘制 ROI 三、总结 一、目的 当前市场上有很多目标检测智能识别的相关算法,当前调用一个医疗行业的AI识别算法后返回…...
Mobile ALOHA全身模仿学习
一、题目 Mobile ALOHA:通过低成本全身远程操作学习双手移动操作 传统模仿学习(Imitation Learning)缺点:聚焦与桌面操作,缺乏通用任务所需的移动性和灵活性 本论文优点:(1)在ALOHA…...

招商蛇口 | 执笔CID,启幕低密生活新境
作为中国城市生长的力量,招商蛇口以“美好生活承载者”为使命,深耕全球111座城市,以央企担当匠造时代理想人居。从深圳湾的开拓基因到西安高新CID的战略落子,招商蛇口始终与城市发展同频共振,以建筑诠释对土地与生活的…...
多模态图像修复系统:基于深度学习的图片修复实现
多模态图像修复系统:基于深度学习的图片修复实现 1. 系统概述 本系统使用多模态大模型(Stable Diffusion Inpainting)实现图像修复功能,结合文本描述和图片输入,对指定区域进行内容修复。系统包含完整的数据处理、模型训练、推理部署流程。 import torch import numpy …...
根目录0xa0属性对应的Ntfs!_SCB中的FileObject是什么时候被建立的----NTFS源代码分析--重要
根目录0xa0属性对应的Ntfs!_SCB中的FileObject是什么时候被建立的 第一部分: 0: kd> g Breakpoint 9 hit Ntfs!ReadIndexBuffer: f7173886 55 push ebp 0: kd> kc # 00 Ntfs!ReadIndexBuffer 01 Ntfs!FindFirstIndexEntry 02 Ntfs!NtfsUpda…...