以下见解仅为个人理解,没有任何指导意义,望各位哥哥姐姐观摩指导,欢迎提出宝贵意见!
函数是将具有相同功能的代码块或相同代码的代码块放在function中,在有需要的时候调用。
函数的作用:提高代码复用率,减少代码量。
函数声明方式分为声明函数和字面量声明(表达式声明);
声明函数:function 函数名(){ };
字面量声明:var 变量名 = function (){ };
函数只声明不调用不会自己执行,
声明函数的调用方式可以写在函数前,也可以写在函数后;
如
a();
function a(){
};
a();
以上两种方式都可以顺利调用函数,并执行相应代码。
再来看字面量声明函数
a();
var a = function (){
};
a();
字面量函数在上边调用不会起作用,只有在下边才会调用并执行函数,这是因为这里用到了变量提升,变量提升后var a; a(); a = function (){ }; 按照代码顺序依次执行此时的a会是undefined;
函数的参数有三个,形参,实参和arguments
形参:字面意思就是形式参数,不是一个真正的数,形参是用来接受实参的数据的,在function()小括号里边,
实参:字面意思实际参数,真正的参数,这里面存放的是具体的数,实参是用来传递给形参的,在调用函数的小括号里 a();
arguments:实参的集合,用中括号包裹[ ] ,在每一个函数中都自带arguments;
形参和实参个数一一对应且不能颠倒顺序,多个参数之间用逗号隔开
形参和arguments是同一个,都是用来存储实参的,他们之间互相影响,无论改变其中谁的参数,另一个会同时发生改变;
当形参和实参个数不一样时,形参个数大于实参时,多余的形参会是undefined,
当实参个数大于形参时,多余的实参不会显示出来,但是可以通过arguments[ 下标 ] 来得到
参数的数据类型:nunber、string、null、undefined、boolean、object、array、function ,一般不使用null和undefin 都可以作为实参进行传递
当函数名重复时 后边的函数会覆盖前面的函数。