编辑
2023-03-22
JavaScript
0
请注意,本文编写于 576 天前,最后修改于 555 天前,其中某些信息可能已经过时。

目录

函数
说明
定义函数
原js方法
说明
函数声明和函数表达式
函数声明
函数表达式
参数
参数分类
参数特点
注意
说明
回调函数
同步回调函数
异步回调函数
函数对象
实例对象

函数

说明

函数是一个js代码块,定义之后可以被执行或调用任意多次

定义函数

原js方法

function functionName() { code block }
说明

functionName:函数命名的标识符,定义的函数对象会赋值给这个值
一对圆括号:中间包含零个或多个逗号分割的标识符,作为函数内部的变量
一对花括号: 函数体,其中由零个或多个js语句构成

函数声明和函数表达式

函数声明

函数声明实际上会声明一个变量,然后将函数对象赋值给变量

函数表达式

函数表达式则不会声明变量
函数名对定义为表达式的函数是可选的
定义为表达式的函数不能在它们的定义之前调用

参数

参数分类

  • 形参
    形参相当于函数中定义的变量,函数中形参不需要声明
  • 实参
    在运行时的函数调用时传入的参数

参数特点

参数不限制数量,不限制数据类型,多个参数之间以逗号隔开

Eg:

function add(a,b) { return a + b }; add(1,2);

声明函数add时,a,b就是形参
调用函数add(1,2) 1,2就是实参

注意

函数存在整体提升,即先调用函数后声明函数同样可以

函数调用时一定传的实参

说明

函数是一个纯过程没有结果,若函数执行需要返回一个结果可以使用return关键字

return的本意其实是退出函数的运行,如果return后面有值的话,那么会在退出的 同时,返回一个结果

回调函数

自己定义的,未调用但是自己执行的函数

同步回调函数

理解: 立即执行, 完全执行完了才结束, 不会放入回调队列中

例子: 数组遍历相关的回调函数/Promise的excutor函数

异步回调函数

理解: 不会立即执行, 会放入回调队列中将来执行

例子: 定时器回调、ajax回调、Promise的成功|失败的回调

函数对象

将函数作为对象使用时,简称为函数对象

var fn = new Fn() //new Fn()就创建了一个实例对象 console.log(fn) //fn则可以视为函数对象

实例对象

实例对象: new 函数产生的对象, 简称为对象

var fn = new Fn() //new Fn()就创建了一个实例对象

本文作者:RKLS

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!