函数
一.函数
函数就是把特定功能代码抽取出来,使其成为程序中1个独立实体
1.函数的作用
- 函数可以在同一程序或其他程序中多次重复使用
- 使程序变得简短清晰,提高可读性
- 方便维护
2.函数分类
1.系统函数 2.内置函数 3.自定义函数
二.函数定义和调用
// 定义函数
function fun (arg) {
var num = 0;
return;
}
// arg形参 1.占位 2.局部变量 3.默认是undefined
// arguments 1.伪数组 2.接受动态实参 3.只能出现在函数内部 4.可以通过[i]下标访问
// 函数内部 1.var定义局部变量 2.return返回结果 终止函数
注意:
- 必须使用function关键字声明函数
- 函数名遵循变量命名规范
- 函数名后必须写()
// 调用函数
函数名()
注意:
- 调用函数会执行函数内部代码块
- 函数不调用是不会执行的
作用域
起作用的范围
局部变量
定义在函数内的变量,只能在函数内使用,即作用域只是函数内部
全局变量
定义在函数外部的变量,在任何函数中都有效,即作用域在当前文件的任何地方
函数嵌套
函数内部可以嵌套其他函数
函数之间允许相互调用,但不可以调用同级函数的嵌套函数
作用域链
script的任何东西都会挂载到window对象(浏览器宿主对象),变量本作用域没有赋值,向上级作用域去取值,直到全局作用域,这种链式查询关系为作用域链
事件驱动
函数不会主动执行,需要通过事件去驱动函数调用
// 获取元素节点对象
var oBut = document.getElementById('button');
// 绑定事件
oBut.onclick = function() {
}
递归
函数自己调用自己,必须有结束条件,称为函数的递归调用
递归调用方式
- 首先找临界值 (类似循环结束条件)
- 找这次与上一次的关系
- 假设当前函数已经可以使用,调用自身计算上一次的运行结果,再写出这次的运行结果
// 计算5的阶乘 5*4*3*2*1
function res (num) {
if (num == 1) {
return 1;
}
return num * res(num - 1);
}

浙公网安备 33010602011771号