函数的概念
概念
'函数'是一个工具,实现一个功能的代码块的封装
函数的特点
1,如果没有return语句,默认返回是uedefined
2,函数内部包含一个默认的arguments参数数组,它返回函数所接收的所有参数
3,如果在函数中声明一个变量没有使用var,这个变量将默认为全局变量
4,函数域始终高于全局域
例: var a=123;
function f(){alert(a);var a=456;alert(a);}
f();
结果:udefined 456
5,函数也是数据
6,typeof 函数名 返回 function
函数的作用
实现一个功能
函数的好处
1.函数实现一段功能的封装,增加了代码的复用性,一次封装多次使用;
2.函数让变量私有化,避免命名空间的污染;
3.函数参数的传递,可以实现功能的多元化;
函数的声明
函数有三种声明方式
1,'声明式'(关键字声明)
function 标识符(){
//
函数体(代码块:实现一个功能的过程)
}
标识符();//函数的调用执行
2.'表达式声明方式'(匿名函数赋值)
var 标识符 = function(){};//讲一个匿名函数赋值给一个变量
标识符();//函数的调用执行
3,'构造函数方式'(使用构造函数)
一般不用,了解
构造函数方式:new后使用的就是构造函数
var box = new Function("console.log('hello new')");
box();
函数的参数
-
函数有两种参数
-
形参(是一个函数的私有变量)
函数声明时传递的参数,用于对应接收实参 -
实参
调用时传递的参数叫做实参,有具体的值函数参数的特点: 1.函数的形参,是函数的一个私有变量 2.函数的形参与实参一一对应,如果一个形参没有对应的实参传递,这个形参是一个undefined 3.函数的参数可以有0个或者多个 -
函数不定参数的获取及使用(参数副本arguments);
arguments是一个伪数组,可以使用数组的基本操作,不能使用数组方法 //arguments的使用 function fn(){ console.log(arguments);//例 }fn(1,2,3); 函数参数可传递的数据类型
-
任意类型的数据类型
函数的返回值
- return关键字的使用
return是将程序的一个结果返回给函数外部使用
什么时候使用return:
函数的内部实现,产生一个结果,这个结果如果要给外部其它的程序使用,这时就需要使用return把这个结果返回出去。
- return关键字的特点
1.结束当前函数中的程序,不再往下执行
2.return只能在函数内部使用
- return关键字可返回的数据类型
函数没有return,返回值是undefined
return 后没有值,也返回undefined
//return只能返回一个值
//return可以返回的值时js中的所有数据类型
//当返回值是一个函数的时候如何使用
function fn(){
return function(){
console.log("ok");
}
}
/*var result = fn();
console.log(result);*/
fn()();
函数的递归调用
- 递归的形成:函数的自调用
函数的递归调用就是:自己调用自己;
类似于代码的循环执行
需要一个结束循环的条件
//递归
1.需要一个变化的量
2.需要产生一个结束程序的条件
3.函数结束程序需要使用return