javascript-es6 (二)
函数进阶
函数提升
//可调用函数
fn()//后声明函数
function fn() {console.log('可先调用再声明')
} //调用表达式,不存在提升现象
bar() //错误var bar = function() {console.log('函数表达式不存在提升哦')
}
函数参数
function sum() {// console.log(arguments) arguments是伪数组let s = 0for (let i = 0; i < arguments.length; i++) {s += arguments[i]}console.log(s)}sum(3, 3) //6
function getSum(...other) {console.log(other) //使用的时候不需要写...//other 得到 [1,2,3]
}
getSum(1,2,3) - ... 是语法符号,置于最末函数形参之前,用于获取多余的实参
- 借助 ... 获取的剩余实参,是个真数组,只存在于函数中
function getSum(a,b,...other) {console.log(a,b,other) //里面的 other 也可以换成其他字母哦
}
getSum(1,2,3,4) //1 2 [3,4] const arr = [1,2,3,4]
console.log(...arr) //1 2 3 4//...arr === 1,2,3,4
console.log(Math.max(...arr)) //4
console.log(Math.min(..arr)) //1 const arr1 = [1,2]
const arr2 = [3,4]
const arr3 = [...arr1,...arr2]
console.log(arr3) //[1,2,3,4] 箭头函数(重要)
基本写法
//普通写法
const fn = function () {console.log('我是普通函数哦')
}
fn()
//箭头函数
const fn = () => {console.log('俺是箭头函数')
}
fn()
//普通函数
const fn = function (x) {return x + x
}
consle.log(fn(1)) //2//箭头函数
const fn = x => {return x + x
}
console.log(fn(1)) //2 //普通函数
const fn = function(x,y){return x+y
}
fn(1,2) //3
//箭头函数 一行代码的时候可以省略大括号,也可以省略return
const fn = (x,y) => x+y
console.log(fn(1,2)) //3//更简洁的语法
const form = document.querySelecor('form')
form.addEventListener('click', ev => ev.preventDefault()) const fn1 = uname => ({name : uname})
console.log(fn1('俸涛')) 
箭头函数属于表达式函数,因此不存在函数提升
箭头函数参数
箭头函数没有 普通函数的arguments 动态参数,但是有 剩余参数 ..args(args可以用任意字母替代)
const getSum = (...args) => {let sum = 0for(let i = 0; i < args.length; i++){sum += args[i]
}
return sum //注意函数体有多行代码时,要用return
}
console.log(getSum(1,2,3)) //6
箭头函数 this
console.log(this) //此处为 windowconst sayHi = function(){console.log(this) //普通函数指向调用者 此处为window
}
sayHi()const sayHi = () => {console.log(this) //箭头函数此处this为 window,并不是window调用了此函数,而是上一层作用域的this
}
sayHi()btn.addEventListener('click',function(){console.log(this) //当前this 指向 btn
})btn.addEventListener('click',() => {console.log(this) //当前this 指向 window
}) //对象方法箭头函数 this
const user = {name:'小明',//该箭头函数中的 this 为函数声明环境中 this 一致walk: () => {console.log(this) //指向 window 不是 user
}
}
user.walk() const user = {name:'小明',sleep: function () {console.log(this) //指向 userconst fn = () => {console.log(this) //指向 user //普通函数的this 指向的是它的调用者,箭头函数的this指向的是其上一层的调用者
}
//调用箭头函数
fn()}
}
user.sleep() //获取DOM 节点
const btn = document.querySelector('.btn')//箭头函数 此时 this 指向了 window
btn.addEventListener('click', () => {console.log(this)
})//箭头函数 此时 this 指向了 DOM对象
//所以推荐使用这种情况
btn.addEventListener('click',function() {console.log(this)
}) 路漫漫其修远兮,吾将上下而求索
相关文章:
javascript-es6 (二)
函数进阶 函数提升 函数提升与变量提升比较类似,是指函数在声明之前即可被调用 好处:能够使函数的声明调用更灵活 函数提升出现在 相同作用域 当中 //可调用函数 fn()//后声明函数 function fn() {console.log(可先调用再声明) } 注意:函数表…...
供应链系统设计-供应链中台系统设计(十四)- 清结算中心设计篇(三)
关于清结算中心的设计,我们之前的两篇文章中,对于业务诉求的好的标准进行了初步的描述,如果没有看的同学可以参考一下两篇文章进行了解,这样更有利于理解本篇的内容。链接具体如下: 供应链系统设计-供应链中台系统设计…...
【自学笔记】MySQL的重点知识点-持续更新
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 MySQL重点知识点MySQL知识点总结一、数据库基础二、MySQL的基本使用三、数据类型四、触发器(Trigger)五、存储引擎六、索引七、事务处理八、…...
X86路由搭配rtl8367s交换机
x86软路由,买双网口就好。或者单网口主板,外加一个pcie千兆。 华硕h81主板戴尔i350-T2双千兆,做bridge下载,速度忽高忽低。 今天交换机到货,poe供电,还是网管,支持Qvlan及IGMP Snooping…...
Linux环境基础开发工具的使用(apt, vim, gcc, g++, gbd, make/Makefile)
目录 什么是软件包 Linux 软件包管理器 apt 认识apt 查找软件包 安装软件 如何实现本地机器和云服务器之间的文件互传 卸载软件 Linux编辑器 - vim vim的基本概念 vim下各模式的切换 vim命令模式下各指令汇总 vim底行模式个指令汇总 Linux编译器 - gcc/g gcc/g的作…...
多模态论文笔记——ViViT
大家好,这里是好评笔记,公主号:Goodnote,专栏文章私信限时Free。本文详细解读多模态论文《ViViT: A Video Vision Transformer》,2021由google 提出用于视频处理的视觉 Transformer 模型,在视频多模态领域有…...
搜索与图论复习1
1深度优先遍历DFS 2宽度优先遍历BFS 3树与图的存储 4树与图的深度优先遍历 5树与图的宽度优先遍历 6拓扑排序 1DFS: #include<bits/stdc.h> using namespace std; const int N10; int n; int path[N]; bool st[N]; void dfs(int u){if(nu){for(int i0;…...
【数据结构】初识链表
顺序表的优缺点 缺点: 中间/头部的插入删除,时间复杂度效率较低,为O(N) 空间不够的时候需要扩容。 如果是异地扩容,增容需要申请新空间,拷贝数据,释放旧空间,会有不小的消耗。 扩容可能会存在…...
第11章:根据 ShuffleNet V2 迁移学习医学图像分类任务:甲状腺结节检测
目录 1. Shufflenet V2 2. 甲状腺结节检测 2.1 数据集 2.2 训练参数 2.3 训练结果 2.4 可视化网页推理 3. 下载 1. Shufflenet V2 shufflenet v2 论文中提出衡量轻量级网络的性能不能仅仅依靠FLOPs计算量,还应该多方面的考虑,例如MAC(memory acc…...
deepseek+vscode自动化测试脚本生成
近几日Deepseek大火,我这里也尝试了一下,确实很强。而目前vscode的AI toolkit插件也已经集成了deepseek R1,这里就介绍下在vscode中利用deepseek帮助我们完成自动化测试脚本的实践分享 安装AI ToolKit并启用Deepseek 微软官方提供了一个针对AI辅助的插件,也就是 AI Toolk…...
深入理解Flexbox:弹性盒子布局详解
深入理解Flexbox:弹性盒子布局详解 一、Flexbox 的基本概念二、Flexbox 的核心属性1. display: flex2. flex-direction3. flex-wrap4. justify-content5. align-items6. flex 三、Flexbox 的实际应用1. 创建响应式三列布局2. 实现垂直居中3. 复杂布局的嵌套使用 四、…...
android Camera 的进化
引言 Android 的camera 发展经历了3个阶段 : camera1 -》camera2 -》cameraX。 正文 Camera1 Camera1 的开发中,打开相机,设置参数的过程是同步的,就跟用户实际使用camera的操作步骤一样。但是如果有耗时情况发生时,会…...
仿真设计|基于51单片机的氨气及温湿度检测报警
目录 具体实现功能 设计介绍 51单片机简介 资料内容 仿真实现(protues8.7) 程序(Keil5) 全部内容 资料获取 具体实现功能 (1)LCD1602液晶第一行显示当前的氨气值,第二行显示当前的温度…...
关于EDGE IMPULSE的使用与适配,包含如何学习部署在对应的板子
创建好账号后,可以打开主页新建一个工程 跳出这个选no就可以不用标label直接整张图训练,要更改可以去dashboard》labeling method改 然后在这个工程中选择添加自己的照片等数据,他支持这些格式的数据我们现在一般是用在openmv opencv yolo 等…...
【Python蓝桥杯备赛宝典】
文章目录 一、基础数据结构1.1 链表1.2 队列1.3 栈1.4 二叉树1.5 堆二、基本算法2.1 算法复杂度2.2 尺取法2.3 二分法2.4 三分法2.5 倍增法和ST算法2.6 前缀和与差分2.7 离散化2.8 排序与排列2.9 分治法2.10贪心法1.接水时间最短问题2.糖果数量有限问题3.分发时间最短问题4.采摘…...
数据结构 前缀中缀后缀
目录 前言 一,前缀中缀后缀的基本概念 二,前缀与后缀表达式 三,使用栈实现后缀 四,由中缀到后缀 总结 前言 这里学习前缀中缀后缀为我们学习树和图做准备,这个主题主要是对于算术和逻辑表达式求值,这…...
【cocos官方案例改】跳跃牢猫
自制游戏【跳跃牢烟】 案例解析 案例需求,点击鼠标控制白块左右。 资源管理器部分 在body创建一个2d精灵用作玩家。 在地下在创建一个2d精灵用来代表地面。 在body下挂在脚本。 全部脚本如下 (在二次进行复刻时候,发现把代码复制上去无法…...
基于Python的药物相互作用预测模型AI构建与优化(上.文字部分)
一、引言 1.1 研究背景与意义 在临床用药过程中,药物相互作用(Drug - Drug Interaction, DDI)是一个不可忽视的重要问题。当患者同时服用两种或两种以上药物时,药物之间可能会发生相互作用,从而改变药物的疗效、增加不良反应的发生风险,甚至危及患者的生命安全。例如,…...
Day51:type()函数
在 Python 中,type() 是一个内置函数,用于返回对象的类型。它可以用于检查变量的类型,也可以用于动态创建新的类型。今天,我们将深入了解 type() 函数的使用方法。 1. 使用 type() 获取变量的类型 最常见的使用方式是将一个对象…...
因果推断与机器学习—用机器学习解决因果推断问题
Judea Pearl 将当前备受瞩目的机器学习研究戏谑地称为“仅限于曲线拟合”,然而,曲线拟合的实现绝非易事。机器学习模型在图像识别、语音识别、自然语言处理、蛋白质分子结构预测以及搜索推荐等多个领域均展现出显著的应用效果。 在因果推断任务中,在完成因果效应识别之后,需…...
摆脱论文困扰!高效论文写作全流程AI论文平台推荐(2026 最新)
论文写作全流程可拆解为文献调研→选题/开题→大纲/初稿→文献综述→降重/去AI味→润色/格式→查重/投稿七大环节,2026年AI论文平台按环节精准匹配,兼顾中文适配、降重能力、去AI痕迹、学术合规四大核心需求,覆盖免费/付费、通用/垂直场景。一…...
SEO_2024年最新SEO趋势与高效优化方法介绍
<h2>2024年最新SEO趋势解析:为百度收录打造高效优化方法</h2> <p>在互联网迅速发展的今天,搜索引擎优化(SEO)依然是网站流量和曝光的关键。2024年,百度作为中国最大的搜索引擎,也不断更新…...
提示工程架构师成长必备:物流规划中的上下文评估方法
提示工程架构师成长必备:物流规划中的上下文评估方法 引言 背景介绍 在当今数字化和全球化的商业环境中,物流规划的重要性不言而喻。高效的物流规划能够显著降低企业成本、提高客户满意度,进而增强企业的市场竞争力。而随着人工智能技术的不断…...
Node.js实战:破解淘宝、天猫商品数据采集中的_m_h5_tk令牌与sign签名验证机制(2023最新版)
1. 淘宝天猫H5端的安全验证机制解析 淘宝和天猫作为国内头部电商平台,在H5端采用了独特的安全验证机制来保护商品数据。这套机制的核心就是**_m_h5_tk令牌和sign签名**的双重验证。我刚开始研究这个机制时踩了不少坑,后来才发现它的设计确实很巧妙。 与…...
告别百度云!手把手教你从Keil官网下载安装STM32全系列芯片支持包(附离线包备份技巧)
从Keil官网高效获取STM32芯片支持包的完整指南 为什么需要直接从Keil官网获取芯片支持包 在嵌入式开发领域,STM32系列微控制器因其出色的性能和丰富的生态系统而广受欢迎。然而,许多开发者在搭建开发环境时,往往习惯于从第三方网盘获取Keil M…...
Fire Dynamics Simulator:火灾动力学模拟的核心引擎与实战应用
Fire Dynamics Simulator:火灾动力学模拟的核心引擎与实战应用 【免费下载链接】fds Fire Dynamics Simulator 项目地址: https://gitcode.com/gh_mirrors/fd/fds 揭示核心价值:为何FDS成为火灾模拟领域的标准工具? 在建筑安全设计、…...
革命性AI肖像动画工具LivePortrait:一键让静态照片“动“起来
革命性AI肖像动画工具LivePortrait:一键让静态照片"动"起来 【免费下载链接】LivePortrait Bring portraits to life! 项目地址: https://gitcode.com/GitHub_Trending/li/LivePortrait 你是否曾经想过让老照片中的亲人重新展露笑容?或…...
SpringBoot+Vue家政服务网站源码+论文
代码可以查看文章末尾⬇️联系方式获取,记得注明来意哦~🌹 分享万套开题报告任务书答辩PPT模板 作者完整代码目录供你选择: 《SpringBoot网站项目》1800套 《SSM网站项目》1500套 《小程序项目》1600套 《APP项目》1500套 《Python网站项目》…...
Dreambooth-Stable-Diffusion多概念训练技巧:同时训练多个主体和风格的完整指南
Dreambooth-Stable-Diffusion多概念训练技巧:同时训练多个主体和风格的完整指南 【免费下载链接】Dreambooth-Stable-Diffusion Implementation of Dreambooth (https://arxiv.org/abs/2208.12242) by way of Textual Inversion (https://arxiv.org/abs/2208.01618)…...
MoneyPrinterPlus未来路线图深度解析:AI短视频生成工具的终极进化指南 [特殊字符]
MoneyPrinterPlus未来路线图深度解析:AI短视频生成工具的终极进化指南 🚀 【免费下载链接】MoneyPrinterPlus 使用AI大模型技术,一键批量生成各类短视频,自动批量混剪短视频,自动把视频发布到抖音,快手,小红书,视频号上,赚钱从来没有这么容易过! Generat…...
