-
函数
-
参数:
-
无参数:
function 函数名(){}
-
单参数:
function 函数名(参数){}
-
函数声明时的参数, 叫做
形式参数 - 形参
-
函数调用时传入的参数
函数名(值)
, 此处的值 称为实际参数 - 实参
-
-
多参数:
function 函数名(参数1, 参数2, 参数3...){}
-
传参:
函数名(11,22,33)
参数按照顺序一一对应 传入形参
-
-
不固定数量参数:
arguments
每个函数内部都具备一个
arguments
关键词, 其中保存了所有传入的参数,是一个
类数组
类型, 类似数组 但是不具备数组的相关方法Math.max(1,3) Math.max(1,4,3,5,5,5)
-
-
声明方式:
-
字面量
function 函数名(参数名, 参数名...){ 方法体 }
-
构造方式
var 函数名 = new Function('参数名', '参数名',..., '方法体')
-
-
声明提升
原理: JS编译器有
预编译功能
, 在执行JS代码之前, 会先编译一次-- 把var声明的 和 函数都找出来-
变量提升: var声明的变量会提升到JS代码的顶部
-
函数声明提升: 函数的声明会提升到JS代码的顶部
-
-
函数重载
概念来自于C语言: 一个函数可以传递不同数量 不同类型的参数, 函数体内利用 if 判断, 根据数量/类型 的不同, 执行不同的逻辑操作.
优点: 减少同类型函数的声明, 减少内存消耗
JS中通过 if 判断 arguments 变量中的数据 来决定执行的代码逻辑!
-
闭包
本质上: 每个函数都一个闭包--封闭的包围
作用: 利用函数制作一个局部作用域, 来保存一些变量.
这些变量独立于 全局作用域之外, 可以防止全局变量污染
全局变量污染: var声明的变量都会存储在 window 对象中, 重名的变量会覆盖!
// 匿名函数自调用不是必备写法, 只是更加简单而已 // function 名称(){} // 名称(); // 匿名函数是为了制造一个 封闭的独立的作用域--闭包 (function (){ // 这里的 name 就出现在闭包的中 var name = '111' // 必须把使用闭包中变量的函数保存到window中 // 这样才能在后期 调用 ashow 函数 window.ashow = function (){ console.log(name) } })()
-
函数的基本知识点
最新推荐文章于 2023-05-17 22:59:05 发布