函数全解
# 函数全解之基础函数
JavaScript 从一门不被看好的脚本语言,逐渐发展为主流开发语言,甚至拆分出诸多分支如:TypeScript Nodejs 之后仍旧能够和诸多后端语言(java C python)争榜肯定是一套非常牛逼的底层设计的,而这一套底层设计是如何做的,本文从函数角度触发分为三个部分逐步让你深入认识JavaScript的牛逼之处。
开始正题:进入javaScript函数一:基础函数
# 小白篇
# 函数是什么,作用是啥?
遇到这个问题,很多资深的小伙伴可能有一大堆解释,甚至会照搬红宝书的概念,或者某位大佬的名言....
其实这些答案都不是你自己总结的,只是复刻别人的理解记忆为概念而已,每个人对事物的定义都应有不同。
我的理解:函数就是装了一段特定功能的js代码块,作用:为了减少重复的js代码
# 函数的体现形式有哪些?
普通函数 【带函数名的函数】
function 函数名(){}
匿名函数【没有函数名的函数】
function (){}
立即执行函数【定义完成瞬间调用】
(function(){})()
箭头函数【只是普通函数的简写语法糖】
const 函数名=()=>{}
# 普通函数的定义方式
两种定义方式:声明式定义 表达式定义
- 声明式定义
//上来就写function 告诉浏览器:“我正在定义一个函数哟”
// 函数名要求:符合变量命名的要求(以英文字母、下划线、$开头,组成:英文字母、下划线、$、数字)
function 函数名(){
//函数体
}
1
2
3
4
5
2
3
4
5
- 表达式定义
//定义方式 类似于 赋值表达式,将一个匿名函数赋值给 变量
const 函数名 = function(){
//函数体
}
1
2
3
4
2
3
4
两种定义方式的区别:
声明式定义的函数,具有函数提升功能,即:在当前js文件中 任意位置定义,支持在当前js文件中 任意位置调用。
表达式定义的函数,遵循:先定义,后使用原则。
# 调用方式有哪些?
直调-直接调用
函数名()
对象-对象中有属性值是一个函数
对象.属性名()
回调-在函数的调用中传递了函数【回调函数】
自调-在函数体中调用了自己【递归函数】
实例化-构造函数或者类的调用【new 关键字】
new 函数名()
编辑 (opens new window)
上次更新: 2022/05/28, 19:34:46