一、函数
1)函数的概念
①函数定义:是由事件驱动的或者当他被调用时可执行的可重复使用的代码块。
②函数的特点:
·忽略细节:在使用过程中,只需要关注其实现的功能,而不需要关注其内部原理
·重复使用:多次使用
·选择使用:按需使用
2)创建函数
①函数来源:
·内置(系统提供,公司发的),例如:
parseInt()
parseFloat()
alert()
·自定义(自己写,自己给自己做)
②创建函数的方法:
A.声明式创建函数:
·需要配合关键字:`function`
·语法:function 函数名(){}
B.赋值式创建函数:
·需要配合关键字:var和function
·语法:var 变量名 = function(){}
C.函数其实就是一个变量,只不过内部存的是一段代码,这段代码还被一个容器包裹了。
3.执行函数
①函数名()
·只要函数名后面有小括号,必然会立即执行**当前**函数
②通过事件执行
·执行无名函数:元素.事件 = function(){}
·执行有名函数:元素.事件 = 函数名
·无名函数配合有名函数,使用较多:元素.事件 = function(){函数|变量名();}
4)函数分类(根据写法分类):
①有名函数:
·正常函数
·使用频率最多的函数
·声明式和赋值式创建的函数
·常规执行:函数名或变量名()
②无名函数:
·非正常函数
·没有名字
·不允许直接存在于代码空间中,否则会报错
·使用场景:
A.作为变量的值存在(赋值式创建函数时的值)
a.var 变量名 = function(){}
b.执行:函数名|变量名()
B.作为事件处理函数执行:btn.onclick = function(){当事件被触发时要执行的内容}
③ 匿名函数:利用匿名函数解决全局耗性能,局部不方便的问题
5)函数的参数
①参数定义:根据用户传入不同的参数,选择执行函数中不同的功能
②参数的分类:
·发:实参:函数执行时的参数
·收:形参:函数定义时的参数
·实参和形参的关系,赋值的关系,形参相当于变量,实参相当于值,一对一
③数量对应关系:
A.实参和形参数量一致:
按照顺序,一一对应
B.实参多:
·没有形参接收,通过形参找不到
·在函数内部有个神秘的空间(arguments),这个空间会将所有的实参全部保存,不论有没有被接收
·arguments是个对象类型的数据(类数组的数据):
a.长度(个数),表示接收到了几个实参:arguments.length;
b.索引(序号,编号),表示数组内部的数据位置,索引从0开始:arguments[索引];
C.形参多:
·多出来的形参是undefined;
·形参其实就是一个变量,实参是赋值,如果实参不够,表示没有赋值,undefined。
补:参数可以有很多个,语法上没有数量限制,但是行业有习惯,自定义函数,如非特殊需要,尽量不要超过3个。