20230303----重返学习-函数概念-函数组成-函数调用-形参及匿名函数及自调用函数
day-019-nineteen-20230303-函数概念-函数组成-函数调用-形参及匿名函数及自调用函数
变量
- 变量声明 - 变量 声明+定义(赋值=)- var num;num = 100;- 声明与- 赋值分开
- var num = 100;- 声明时就- 赋值
 
- 赋值=
- 只能声明一次,可以赋值无数次
 
- 变量 
- 变量声明关键词- var
- const
- let
- class
- function
- import
 
数据类型
- 数据类型- 原始值- number
- string
- boolean
- null
- undefined
- symbol
- bigint
 
- 对象- object- Array
- Function(函数)
 
 
 
数据类型转换
- Number()
- String()- {} => '[object Object]'
- [] => ''
 
- Boolean()- null- undefined- NaN- 0- ''
- Boolean(false)//false
 
- 隐式转化
相关方法
- parseInt()
- parseFloat()
- isNaN()
- toFixed()
- BinInt()
普通对象(增删改查)
-  声明定义对象
 var obj = {a:0}
-  查 - obj.a
- obj['a']
- obj[a]//a是变量,报错a is not defined- obj[length]//length是变量,但去window上时找会找到
 
 
-  增与改 - obj.b = 2;
- obj['b'] = 2;
- b='name';obj[b] = 2;
 
-  删 
 delete obj.a
 obj.a = null
-  属性名只能是字符串或者symbol,如果不是,会转为字符串。 var obj = {} var o = {} var obj[o]='object';//{'[object Object]':'object'}
-  Symbol()属性值 
//var obj[Symbol()]='唯一值'
var s = Symbol()
obj[s]='唯一值'
console.log(obj)
数组
var arr = [1,2,3]
 //索引
 //length
 //元素
语句
- 条件 - if(){}
- if(){}else{}
- if(){}else if(){}else{}
- 只会进入判断一个花括号
- 条件一定会转为布尔值
 
- switch(){case} 必须是===
- 循环语句 - white
- do while
- for(var i=0;i<10;i++){} - for(var i=10-1;i>=0;i–){}
 
 
- 跳转语句 - break
- continue
- return
 
或与非
- ||或者,只要满足一个条件就是true
- &&与,必须两个条件都是true,才最终是true
- !先将!后面的转为布尔值再取反
- ++xxx,将xxx转为number
- !!转布尔值
- %取余数
与=
{}{}//false
 [][]//false
三元表达式
条件?xx:xxx;
案例
- 开关灯 - 步骤 - 获取开关元素和被开关元素
- 在开关元素上绑定点击事件,事件里根据开关元素状态控制被开关元素的显隐
 
- 获取
 
- 步骤 
- 隔行变色 - 标签是一个DOM对象,DOM对象可以添加属性名和属性值。
- 步骤 - 获取被控制元素列表
- 在被控制元素列表循环绑定被控制元素的鼠标移入及移出事件,加背景颜色
 
- 获取
 
- 标签是一个
函数
-  函数概念 - 函数是具有某种特定功能的代码块。
- 函数其实本质也是一种数据,属于对象数据类型。
 
-  函数的作用 - 解决代码的冗余问题,形成代码复用。
- 可以把整个代码项目,通过函数模块化。
- 封装代码,让函数内部的代码对外部不可见。
 
-  函数的组成 // fn:函数名function fn(a, b) {//形参console.log(b);//undefinedconsole.log('fn1111');return;}console.log(fn);//输出的是整个函数体// 调用函数(执行)fn('div');//调用的时候小括号里面的东西叫做实参-  函数由如下部分组成: - 函数名,命名规则同变量名一致。
- 函数体, 函数的内容,代码块。
- 参数, 分为形参和实参。
- 返回值, 函数调用表达式的结果
 
-  函数声明 // fn:函数名function fn(a, b) {//形参console.log(b);//undefinedconsole.log('fn1111');return;}console.log(fn);//输出的是整个函数- function后面的变量名就是函数名
- 函数名后面的小括号里面的东西就叫做形参。
- 形参小括号后面花括号里的所有代码就是函数体。
- console.log(函数名)打印出来的是整个函数 - 包含函数声明关键字及形参及函数体
- console.log([函数名]);打印出来的和console.dir(函数名)差不多。也是把函数当成对象来看。
 
- console.dir(函数名);打印出来的是函数对象 - 这鼐函数对象里会把函数当成一个对象,对象上会有属于函数对象的属性值。
 
- 声明函数时,里面的代码并不会执行,可以把它当成是一堆字符串,只是这些字符串是可执行的源代码。
- 调用函数时,才会执行函数,相当于把函数体内的字符串当成源代码并执行了。这个时候函数才会有报错。
- 函数执行后会有结果,结果取决于return。
 
 
-  
-  函数调用 -  与Symbol()、document.getElementById()类似。 
-  实参与形参 - 调用时小括号里面的东西叫做实参,里面必须是某种数据类型或者是变量,而变量一般也是某种数据类型
- 在声明函数时,小括号里的变量就是形参
 
-  传参 就是把实参赋值给形参 - 如果传了实参,但没有形参接收,将会直接被忽略。
- 有形参但没有实参对应,相当于声明了变量没有去赋值,在执行函数时该形参的值是undefined
- 参数个数问题 - 实参数===形参数,从左往右一一对应
- 实参数>形参数,多出来的实参被忽略,但还是会传到arguments和...剩余参数。
- 实参数<形参数,
 
- 接收参数的其它方法 - arguments在函数内,执行函数时,它是当前执行过程中所有的实参集合- 但凡前面有一个名词后接类似数组的东西,可以认为就是伪数组。 - 如: arguments与document.getElementsByTagName(‘div’)
 
- 如: 
- arguments只能在函数里面使用,函数外不行,会报错。- 因为arguments是函数内专有的。
 
- 因为
- arguments不是数组只是伪数组,但能用中括号语法访问到内部数据,也有length。
 
- 但凡前面有一个名词后接类似数组的东西,可以认为就是伪数组。 
 
- return的使用看具体情况
 
-  函数体 - return直接跳出函数并且返回值
 
-  看一个函数,先不用看函数体,在调用时再回去看函数。 
-  调用函数的过程 - 如果没有调用,函数体内的代码一定不会执行。
- 每调用一次就执行一次函数体内的代码。 - 只要是函数名加一个括号,就会去执行函数。
- 执行函数前,会把调用时实参赋值给形参,之后再去执行函数体内的代码。
- 执行函数体内的代码如果出现错误时,就会终止函数并报错。
- 执行结束之后,函数就会返回return返回出来的结果。
 
- 调用函数的结果 - 结果取决于return- 没有return,默认结果是undefined。
- 写了return,没有内容,也是undefined。
- 写了return,有内容,return什么结果就是什么。
- 写了return,但没执行到return就结束了函数,返回的也是undefined。- 报错会终止函数,如果终止前没return出去,函数会报错,同时也不会return值出去。
 
- 报错会终止函数,如果终止前没
 
- 没有
 
- 结果取决于
- 可以多次调用同一个函数。 - Symbol()为什么每次能拿到一个唯一值。 - 因为每次写了Symbol(),就会执行一次Symbol函数,而Symbol函数每次执行结束后会返回一个symbol类型的值。
 
 
- Symbol()为什么每次能拿到一个唯一值。 
 
 
-  
-  定义函数的三种方式 - function fn(){}
- var fn = function(){}
- new Function()
 
-  函数形参默认值 -  在形参后面用等号可以赋一个默认值,如果实参没传对应的值,那么形参默认就是该值。 function func(a=10) {console.log(a);//10}func()
-  用es5来实现形参默认值 function func(a) {if(a===undefined){a=10}console.log(a);//10}func()function func(a) {(a===undefined)?(a=10):null;console.log(a);//10}func()
 
-  
-  匿名函数三种写法 - function(){}
- var a = function(){}
- ()=>{}
 
-  箭头函数 -  来源 function res() { }; var res = () => { }
-  简写 -  形参只有一个,把小括号省略 var fn = (a) => { return a + 1 } var fn = a => { return a + 1 }
-  函数体里面只有一条return语句,把大括号和return省略 var fn = (a) => { return a + 1 } var fn = (a) => a + 1
-  形参只有一个,函数体里面只有一条return语句,把小括号和大括号和return省略 var fn = (a) => { return a + 1 } var fn = a => a + 1
 
-  
 
-  
-  自调用函数(IIFE) - (function (a) { })(10);
- +function (a) { }(10);
- ~function (a) { }(10);
- !function (a) { }(10);
- -function (a) { }(10)
 
选项卡
-  css选择器选择范围缩小 把document替换成对应的父容器元素就可以了。 <div class="wrap"><ul><li class="current">早餐</li><li>午餐</li><li>晚餐</li></ul><div class="current">早餐</div><div>午餐</div><div>晚餐</div></div><script>var wrap = document.getElementsByClassName('wrap')[0];// 获取文档中`第一个类名为'wrap'的元素`。// getElementsByTagName()方法的context上下文为wrap这个DOM元素对象。var divList = wrap.getElementsByTagName('div');// 获取wrap这个DOM元素对象子代的所有div标签。var liList = wrap.getElementsByTagName('li');// 获取wrap这个DOM元素对象子代的所有li标签。</script>var wrap = document.getElementsByTagName(div)[0];// 获取文档中的第一个div元素`。 // getElementsByTagName()方法的context上下文为wrap这个DOM元素对象。 var divList = wrap.getElementsByTagName('div');// 获取wrap这个DOM元素对象子代的所有div标签。
进阶参考
相关文章:
20230303----重返学习-函数概念-函数组成-函数调用-形参及匿名函数及自调用函数
day-019-nineteen-20230303-函数概念-函数组成-函数调用-形参及匿名函数及自调用函数 变量 变量声明 变量 声明定义(赋值) var num;num 100; 声明与赋值分开var num 100; 声明时就赋值 赋值只能声明一次,可以赋值无数次 变量声明关键词 varconstletclassfunctio…...
 
Java面试题总结
文章目录前言1、JDK1.8 的新特性有哪些?2、JDK 和 JRE 有什么区别?3、String,StringBuilder,StringBuffer 三者的区别?4、为什么 String 拼接的效率低?5、ArrayList 和 LinkedList 有哪些区别?6…...
 
深圳大学计软《面向对象的程序设计》实验7 拷贝构造函数与复合类
A. Point&Circle(复合类与构造) 题目描述 类Point是我们写过的一个类,类Circle是一个新的类,Point作为其成员对象,请完成类Circle的成员函数的实现。 在主函数中生成一个圆和若干个点,判断这些点与圆的位置关系,…...
Java的JVM(Java虚拟机)参数配置
JVM原理 (1)jvm是java的核心和基础,在java编译器和os平台之间的虚拟处理器,可在上面执行字节码程序。 (2)java编译器只要面向jvm,生成jvm能理解的字节码文件。java源文件经编译成字节码程序&a…...
leetcode 困难 —— 数据流的中位数(优先队列)
题目: 中位数是有序整数列表中的中间值。如果列表的大小是偶数,则没有中间值,中位数是两个中间值的平均值。 例如 arr [2,3,4] 的中位数是 3 。 例如 arr [2,3] 的中位数是 (2 3) / 2 2.5 。 实现 MedianFinder 类: MedianFinder() 初始化…...
 
7个常用的原生JS数组方法
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 7个常用的原生JS数组方法一、Array.map()二、Array.filter三、Array.reduce四、Array.forEach五、Array.find六、Array.every七、Array.some总结一、Array.map() 作用&#…...
 
一、一篇文章打好高数基础-函数
1.连续函数的性质考点分析函数的连续性主要考察函数的奇偶性、有界性、单调性、周期性。例题判断函数的奇偶性的有界区间为() A.(-1,0) B(0,1) C(1,2) D(2,3)2.闭区间上连续函数的性质考点分析闭区间上连续函数的性质主要考察函数的最大最小值定理、零点…...
 
pipenv的基本使用
一. pipenv 基础 pipenv安装: pip install pipenvpipenv常用命令 pipenv --python 3 # 创建python3虚拟环境 pipenv --venv # 查看创建的虚拟环境 pipenv install 包名 # 安装包 pipenv shell # 切换到虚拟环境中 pip list # 查看当前已经安装的包࿰…...
 
OpenCV入门(三)快速学会OpenCV2图像处理基础
OpenCV入门(三)快速学会OpenCV2图像处理基础 1.颜色变换cvtColor imgproc的模块名称是由image(图像)和process(处理)两个单词的缩写组合而成的,是重要的图像处理模块,主要包括图像…...
 
基于PySide6的MySql数据库快照备份与恢复软件
db-camera 软件介绍 db-camera是一款MySql数据库备份(快照保存)与恢复软件。功能上与dump类似,但是提供了相对有好的交互界面,能够有效地管理导出的sql文件。 使用场景 开发阶段、测试阶段,尤其适合单人开发的小项目…...
 
BI不是报表,千万不要混淆
商业智能BI作为商业世界的新宠儿,在市场上实现了高速增长并获得了各领域企业的口碑赞誉。 很多企业把商业智能BI做成了纯报表,二维表格的数据展现形式,也有一些简单的图表可视化。但是这些简单的商业智能BI可视化报表基本上只服务到了一线的…...
 
sizeof以及strlen的用法以及注意事项
大家都知道,在c中算字符串长度和所占空间大小事不可避免的,甚至再有的时候,我们在写代码的过程中,就会用到这些数据。比如,下面这道题 struct Test { int Num; char *pcName; short sDate; char cha[2]; short sBa[4];…...
 
数据结构-链表-单链表(3)
目录 1. 顺序表的缺陷 2. 单链表 2.1 单链表的基本结构与接口函数 2.2 重要接口 创建新节点的函数: 2.2.1 尾插 2.2.2 头插 2.2.3 尾删 2.2.4 头删 2.2.5 查找 2.2.6 插入 2.2.7 删除 2.2.8 从pos后面插入 2.2.9 从pos后面删除 3. 链表的缺陷与优势&…...
【SpringBoot初级篇】JdbcTemplate常用方法
【SpringBoot初级篇】JdbcTemplate常用方法JdbcTemplate 查询JdbcTemplate 插入、更新、删除execute执行任意的SQLNamedParameterJdbcTemplate函数场景说明update(String sql, Nullable Object… args)增,删,改queryForObject(sql, Integer.class)查询返…...
 
React(三):脚手架、组件化、生命周期、父子组件通信、插槽、Context
React(三)一、脚手架安装和创建1.安装脚手架2.创建脚手架3.看看脚手架目录4.运行脚手架二、脚手架下从0开始写代码三、组件化1.类组件2.函数组件四、React的生命周期1.认识生命周期2.图解生命周期(1)Constructor(2&…...
[教程]使用 Git 克隆指定分支
Git 是我们开发过程中经常使用到的版本管理工具,在平常情况下我们从远程克隆的时候会将整个库克隆下来,这会包括整个版本库的历史提交记录和远程库里的所有分支。但在一些情况下,比如我们并不需要查看历史提交记录而只是希望能够获取到最新的代码&#x…...
 
Redis实现服务注册与服务发现源码阅读(Go语言)
Redis实现服务注册与服务发现源码阅读 背景 近期在看开源项目CloudWeGo中看到目前GoLang微服务框架Hertz中支持通过Redis实现服务注册与服务发现功能。便想着阅读下源码 源码阅读 gut clone了hertz-contrib后看到在一级目录下有目前各种主流的服务注册与发现的实现方案。为…...
 
论文复现-3
模型构建中的运算 数据集是CONLL03 这个数据集共有4种实体类型,所以,在做实体描述的embedding时,得到的语义表示的Tensor大小为 : 4*max_len, 具体指的是: type_input_ids: torch.LongTensor None, type_attention_m…...
667知识点 | 经过三年实战检验的667知识清单
文章目录 前言第一章 信息与信息资源第二章 信息社会第三章 信息交流第四章 信息技术第五章 信息组织第六章 信息管理活动第七章 信息资源人文管理第八章 信息资源经济管理第九章 信息资源系统管理第十章 信息资源管理专门化前言 参考书目:《信息管理导论(第三版)》党跃武推…...
 
后端快速上手前端三剑客 HtmlCSSJavaScript
文章目录前言HTML1.基础标签2.多媒体标签:3.表格&列表&布局4.表单CSS1.简介2.导入方式3.选择器JavaScript1.简介2.引入方式3.基本语法4.对象(1) 基本对象(2) BOM对象(3) DOM对象5.事件前言 结构:HTML 表现:CSS 行为:Java…...
 
相机Camera日志实例分析之二:相机Camx【专业模式开启直方图拍照】单帧流程日志详解
【关注我,后续持续新增专题博文,谢谢!!!】 上一篇我们讲了: 这一篇我们开始讲: 目录 一、场景操作步骤 二、日志基础关键字分级如下 三、场景日志如下: 一、场景操作步骤 操作步…...
前端倒计时误差!
提示:记录工作中遇到的需求及解决办法 文章目录 前言一、误差从何而来?二、五大解决方案1. 动态校准法(基础版)2. Web Worker 计时3. 服务器时间同步4. Performance API 高精度计时5. 页面可见性API优化三、生产环境最佳实践四、终极解决方案架构前言 前几天听说公司某个项…...
 
《从零掌握MIPI CSI-2: 协议精解与FPGA摄像头开发实战》-- CSI-2 协议详细解析 (一)
CSI-2 协议详细解析 (一) 1. CSI-2层定义(CSI-2 Layer Definitions) 分层结构 :CSI-2协议分为6层: 物理层(PHY Layer) : 定义电气特性、时钟机制和传输介质(导线&#…...
 
【第二十一章 SDIO接口(SDIO)】
第二十一章 SDIO接口 目录 第二十一章 SDIO接口(SDIO) 1 SDIO 主要功能 2 SDIO 总线拓扑 3 SDIO 功能描述 3.1 SDIO 适配器 3.2 SDIOAHB 接口 4 卡功能描述 4.1 卡识别模式 4.2 卡复位 4.3 操作电压范围确认 4.4 卡识别过程 4.5 写数据块 4.6 读数据块 4.7 数据流…...
Frozen-Flask :将 Flask 应用“冻结”为静态文件
Frozen-Flask 是一个用于将 Flask 应用“冻结”为静态文件的 Python 扩展。它的核心用途是:将一个 Flask Web 应用生成成纯静态 HTML 文件,从而可以部署到静态网站托管服务上,如 GitHub Pages、Netlify 或任何支持静态文件的网站服务器。 &am…...
 
2025盘古石杯决赛【手机取证】
前言 第三届盘古石杯国际电子数据取证大赛决赛 最后一题没有解出来,实在找不到,希望有大佬教一下我。 还有就会议时间,我感觉不是图片时间,因为在电脑看到是其他时间用老会议系统开的会。 手机取证 1、分析鸿蒙手机检材&#x…...
.Net Framework 4/C# 关键字(非常用,持续更新...)
一、is 关键字 is 关键字用于检查对象是否于给定类型兼容,如果兼容将返回 true,如果不兼容则返回 false,在进行类型转换前,可以先使用 is 关键字判断对象是否与指定类型兼容,如果兼容才进行转换,这样的转换是安全的。 例如有:首先创建一个字符串对象,然后将字符串对象隐…...
 
【数据分析】R版IntelliGenes用于生物标志物发现的可解释机器学习
禁止商业或二改转载,仅供自学使用,侵权必究,如需截取部分内容请后台联系作者! 文章目录 介绍流程步骤1. 输入数据2. 特征选择3. 模型训练4. I-Genes 评分计算5. 输出结果 IntelliGenesR 安装包1. 特征选择2. 模型训练和评估3. I-Genes 评分计…...
Pinocchio 库详解及其在足式机器人上的应用
Pinocchio 库详解及其在足式机器人上的应用 Pinocchio (Pinocchio is not only a nose) 是一个开源的 C 库,专门用于快速计算机器人模型的正向运动学、逆向运动学、雅可比矩阵、动力学和动力学导数。它主要关注效率和准确性,并提供了一个通用的框架&…...
 
【C++】纯虚函数类外可以写实现吗?
1. 答案 先说答案,可以。 2.代码测试 .h头文件 #include <iostream> #include <string>// 抽象基类 class AbstractBase { public:AbstractBase() default;virtual ~AbstractBase() default; // 默认析构函数public:virtual int PureVirtualFunct…...
