JavaScript函数
JavaScript函数
一.函数的概念
函数是由事件驱动的或者当它被调用时可执行的可以重复使用的代码块。
二.函数的创建和执行
1.函数的创建
1.1声明式:
function 函数名(条件){执行语句}
function foo(){ console.log('hello world'); }
注:千万不能忘记函数的名字
1.2 赋值式
var foo = function(条件){执行语句}
var foo = function(){ console.log('hello world'); }
赋值式可以没有函数名
赋值式的function 后如果加函数名作用是局部的 只能在内部才能使用
注意:
(1)规定:函数必须执行,不执行会报错;
(2)规范:函数最好执行,不执行不会报错,但是会让程序有一些负面影响
(3)函数定义规范:函数名的首字母小写
(4)函数定义了会把代码默默放在那里不会去执行
(5)只要有在主动调用函数,代码才会执行
(6)函数定义和调用规范:先声明在调用
2.函数的执行
1.主动调用 函数名(变量)
function foo(){ console.log('hello world'); } foo(); //hello world
2.浏览器在特定时机帮你调用函数;(事件)
html标签进行触发 浏览器接收 浏览器调用
<button id="btn">click</button> <script> function foo(){ console.log('hello world'); } btn.onclick = function(){ foo(); }; </script>

3.注意:
1.注意单词,格式,符号,语法,不要写错
2.主意执行函数的位置,不同的创建方式课执行位置不同
3.注意行为调用函数时的格式
4.注意不要将概念复杂化
三.函数的参数
1.小括号之中的就是参数
1.1形参 假定的参数
1.2实参 调用函数的具体的数据
function foo(a){//此处a为形参
console.log(a);
}
foo(1);//此处”1”为实参
2.函数的参数可以有无限多个
3.实参数量比形参数量少 从左到右赋值,其余未赋值的都是undefined
function foo(a,b,c,d){ console.log(a,b,c,d); } foo(1,2,3);// 1 2 3 undefined
4.实参数量比形参数量多 多余的实参存到了arguments伪数组中
想要取出数据:console.log(arguments[i]);
function foo(a,b,c,d){ console.log(a,b,c,d); console.log(arguments); console.log(arguments[2]); } foo(1,2,3,4,5,6);// 1 2 3 4 / Arguments(6) [1, 2, 3, 4, 5, 6] / 3
四.函数的返回值
将函数执行处理的数据,返回出来,便于其他程序或用户调用或二次使用
在函数之中,只要遇到return关键字,表示函数执行结束,会立即终值函数运行。
function foo(a){ if(a === 3){ return console.log('hello world'); } console.log(a); } foo(3);//hello world
五.函数的递归
1.必备条件:
(1)终止条件 包裹在if之中的return
(2)运算条件 极简算法
(3)返回结果
2.递归类似于自己调用自己
3.递归类似于循环
4.递归函数要注意停止返回,否则会造成死递归
5.递归比较消耗性能,尽量少用
//计算累加
function foo(n){ if(n === 0){ return 0; } return foo(n-1) + n; } console.log(foo(10));//55
// 爬楼梯 一个人每次可以一次上一层台阶或两层台阶 到第n层台阶有多少种走法?
function foo(n){ if(n === 1){ return 1; } if(n === 2){ return 2; } return foo(n-1) + foo(n-2) ; }; console.log(foo(10));//89
六. 函数总结
- 当一段代码块需要事件驱动或者被调用时时可以反复执行时我们通常用函数代替。
- 函数声明分为声明式和赋值式两种,声明式一定要有函数名,赋值式一定要在定义之后调用。
- 形参是函数小括号中的参数,用来在函数之中执行操作。实参是附给形参的真实值,用来进行实际操作。实参才函数中会被存入arguments伪数组中,可以通过arguments[]调用数据。
- 函数的返回值是函数结束时返回出来的值,他代表函数在此处结束。函数的返回值我们可以拿来二次使用。
- 函数的递归就是在函数内部调用自己,可以用递归来解决一些复杂问题,如斐波那契数列,爬楼梯问题。
逆战班:SpongeBooob

浙公网安备 33010602011771号