JavaScript学习笔记:函数与箭头函数

NodeJS函数

  • 由于js是弱语言,因此,函数的入参和出参可以为任意形式而不用指定类型。当然也没有办法使用冒号的形式进行参数类型注释。
  • 但是typescript可以使用冒号形式进行参数类型注释。

1. 普通的函数定义

    • 不带参数形式printHello
    • 带参数形式plus
    • 使用return获取返回值
function printHello() {console.log("Hello");
}function plus(a, b) {return a * b;
}printHello();
console.log(plus(1, 2));

2. 函数句柄

    • 定义一个常量的函数句柄。
const sumHDL = function (i) {var sum = 0;for (var a = 0; a < i; a++) {sum += a;}return sum;
};console.log(sumHDL(5));
    • 定义一个可变的函数句柄。
function plus(a, b) {return a * b;
}var plusHDL = plus;
console.log(plusHDL(3, 4));

3. 箭头函数

    • 虽然箭头函数有很多种描述方式,但是为了规范,一个项目工程里大家尽量用统一的方式去描述,可以提高代码的可维护性。
    • 箭头函数参考文档:https://www.w3school.com.cn/js/js_arrow_function.asp
    • 不带入参的箭头函数
let printHelloHDL2 = () => {console.log("Hello2");
}
/** 相当于
let printHelloHDL2 = function() {console.log("Hello2");
}*/
    • 带参数的箭头函数
// 带参数的箭头函数
let plusHDL = (a, b) => {console.log(a * b);
}
/** 相当于
let plusHDL = function(a, b) {console.log(a * b);
}*/

4. 函数的参数中内嵌函数

    • 这是我在看JavaScript项目中经常会看到的一些例子。
    • 最常见到的就是延时函数setTimeout
    • setTimeout(JavaScript 函数, 等待的毫秒数)
setTimeout(function() {console.log("delay Time Print")
}, 3000);
console.log("Start!");// 或者写成如下形式:
setTimeout(() => {console.log("delay Time Print")
}, 3000);
console.log("Start!");
    • 但是上述表示方式,我还不知道如果存在入参,或者出参需要如何编写代码。
    • 比较通用的方式如下:
function add(a ,b) {return a + b;
}function plus(a ,b) {return a * b;
}function calculate(a, b, func) {var result = func(a, b);console.log(result);
}calculate(1, 5, add);
calculate(2, 10, plus);

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/526557.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python学习笔记(1):用户输入,终端输入

#用户输入&#xff0c;操作 print("python 用户输入操作")# input(提示字符串)&#xff0c;函数阻塞程序&#xff0c;并提醒用户输入字符串 instr input("please input the string: ") print("input >> " instr)# 将输入的字符串转化成整…

Python学习笔记(2):生成器

介绍 我们可以通过列表生成式简单直接地创建一个列表&#xff0c;但是受到内存限制&#xff0c;列表容量肯定是有限的。而且&#xff0c;创建一个包含100万个元素的列表&#xff0c;不仅占用很大的存储空间&#xff0c;而且如果我们仅仅需要访问前面几个元素&#xff0c;那后面…

Python学习笔记(3):zipfile解压库

简介 python自带zipfile解压库&#xff0c;导入方式如下 import zipfile批量解压 先尝试无密码解压&#xff0c;如果失败&#xff0c;就输入密码。但是zipfile解压大文件速度很慢。 path rL:/resource/zipPackage passwd b123456 def compressFromZip():for temp_name in…

数字万用表使用方法

数字万用表使用方法 简介&#xff1a;数字万用表相对来说&#xff0c;属于比较简单的测量仪器。本篇&#xff0c;作者就教大家数字万用表的正确使用方法。从数字万用表的电压、电阻、电流、二极管、三极管、MOS场效应管的测量等测量方法开始&#xff0c;让你更好的掌握万用表测…

Python学习笔记(4):Python如何设置类似C语言静态函数

介绍 模块封装时候&#xff0c;希望有一些函数不被外部直接调用。C语言通常采用static int function()形式以及头文件形式作为标识。而python不存在头文件&#xff0c;但可以通过修饰符staticmethod进行代替。 staticmethod def your_function():# 你的代码print("your …

c++ 字符串相等比较

介绍 在C 中比较字符串的技术 (Techniques to Compare Strings in C) Strings in C can be compared using either of the following techniques: 可以使用以下两种技术之一来比较C 中的字符串&#xff1a; String strcmp() function 字符串strcmp&#xff08;&#xff09;函…

ffmpeg下载安装 多段ts视频m3u8下载

如何下载多段ts视频 m3u8 ffmpeg ffmpeg使用教程 下载 Windows下载方法 step1. 官网下载地址 点此进入下载地址 step2. 选择 Windows EXE files 中的Windows builds by BtbN 这会跳转到github页面中。 step3. 选择对应的linux平台或者windows平台进行下载 安装 step1.…

linux环境下安装多个任意版本的python环境

linux环境下安装多个任意版本的python环境 安装方法可以归结为 [下载 编译 配置环境变量] 下载Python 参考链接&#xff1a; .任意python版本下载&#xff0c;所有python版本下载的FTP路径 Windows下载发送到linux上 step1. 下载linux版本的python 从Python官网进入 选择…

linux云服务器状态上报解决方案:外发个人邮箱

linux云服务器状态上报解决方案&#xff1a;外发个人邮箱 需求如下&#xff1a; #### 将一些服务器的关键日志实时发送到手机上一些案例&#xff1a; CPU状态检测 解决方案&#xff1a; #### 利用mailx命令外发邮件方法如下&#xff1a; 1. 用管理员打开mail配置文件 >…

Matplotlib画图教程:在QT界面中嵌入三维图片

Matplotlib画图教程&#xff1a;在QT界面中嵌入三维图片 需求&#xff1a; 做项目报告的时候&#xff0c;有这么一个想法&#xff0c;就是能通过UI随时调用matplotlib进行二维图和三维图的绘制。因此就诞生了做这么一个小模块的想法。 这里先上一下最终结果&#xff1a; 思…

Python工程笔记(1):轨迹与日志

轨迹记录模块&#xff08;Recorder&#xff09; 轨迹和日志是定位工程问题的备忘录和总结代码开发项目管理经验的基本素材&#xff0c;是工程交验收资料的重要组成部分 1.1 依赖表 包名含义安装方式系统包ostime 1.2 全局变量表 变量名含义初值log_file日志保存路径./recor…

Python代码优化(1):天气预报获取

天气预报获取模块 基于http://www.weather.com.cn/做了代码优化&#xff0c;每个函数功能更加明确&#xff0c;更加适合单独集成。接口也进行了优化&#xff0c;比网络上博主抄来抄去的源码要好一些。 改进点&#xff1a;获取天气拆成了多个函数&#xff0c;多次保存csv文件不…

proxy_pool开源项目攻克学习

开源项目攻克学习之proxy_pool 1. 学习背景 爬虫线程池&#xff0c;但是网络上付费的又很麻烦&#xff0c;于是在开源网站上找到一个版本进行学习。 https://github.com/jhao104/proxy_pool 本人操作系统deepin&#xff0c;有遇到一些问题&#xff0c;希望可以跟大家分享一…

pip 指定镜像源 指定版本 批量安装

要用 pip 安装指定版本的 Python 包&#xff0c;只需通过 操作符 指定 例如&#xff1a;pip install pycrypto2.6.1 将安装pycrypto2.6.1 版本。 要使用pip 批量安装&#xff0c;需要写requirements.txt文件&#xff0c;一行一个包 numpy matplotlib wxpypip install -r r…

Linux命令行下统计当前文件夹下的文件个数

统计某文件夹下文件的个数 ls -l |grep “^-”|wc -l 统计某文件夹下目录的个数 ls -l |grep “^&#xff44;”|wc -l 统计文件夹下文件的个数&#xff0c;包括子文件夹里的。 ls -lR|grep “^-”|wc -l 统计文件夹下目录的个数&#xff0c;包括子文件夹里的。 ls -lR|…

proxy_pool开源项目攻克学习2:服务器架设

proxy_pool开源项目攻克学习2&#xff1a;服务器架设 在这个文章proxy_pool开源项目攻克学习中&#xff0c;我们完成了本地的proxy_pool架设。现在我们将他转移到服务器上。 硬件环境准备 腾讯centos服务器。 软件环境准备 redispython3.7proxy_pool开源项目 安装过程 总…

python opencv安装

opencv安装 pip install opencv-python依赖安装 # libglvnd-1:1.3.2-1.tl3.x86_64 # libglvnd-glx-1:1.3.2-1.tl3.x86_64 # libxshmfence-1.3-2.tl3.x86_64 # mesa-libGL-20.3.3-2.tl3.x86_64 # mesa-libglapi-20.3.3-2.tl3.x86_64yum install libGL

nodejs轻量服务器后端

nodejs轻量服务器后端 搭建思路 server.js主函数 mine.js配置文件 index.html 测试网页 目录结构 __./|__ test1|__ index.html|__ mine.js|__ server.jsserver.js文件 var PORT 8080; //端口 var DIR test1; //用于存放html的目录var http require(http);…

[Leetcode713]乘积小于 K 的子数组

公司里偷偷刷题记录 做一下笔记 求解子数组方式&#xff1a; 两种方案&#xff1a; 通用方案就是前缀和查找 另一种是递增序列可用的滑动窗口 有些题目如果给出来的数字有正&#xff0c;负。那么一定就要转化成前缀和。 如果是全正数组&#xff0c;可以采用前缀和二分查找的…

[Leetcode15]三数之和

重刷一遍相向双指针 题目 leetcode15 https://leetcode.cn/problems/3sum/ 类似的题目还有leetcode16 leetcode16 解答思路 关键点 快排 双指针 1&#xff1a; 快速排序&#xff0c;之后使用双指针遍历对应的位置&#xff0c;求解 2&#xff1a; 主要是在确定了第一个值…