函数是由事件驱动的或者当它被调用时执行的可重复使用的代码块。
定义函数
函数声明
函数表达式
充当了表达式,就不能充当一个正常的函数了。当等号右边有函数名时,会自动忽略
通过new Function
调用函数
直接调用
函数名(实参列表)
在链接中调用
<a href="javascript:函数名()"></a>
在事件中调用
事件类型="函数名()"
递归调用
在函数体内部调用函数本身
function 函数名aaa(){//代码体;函数名aaa()}
方法
函数刚刚出生的时候,就有一些东西了,包括一些方法。
call / apply
作用:改变this指向
区别:传参形式不同;在传参的第二部分,call需要把实参按照形参的个数传进去,apply需要传递一个数组arguments;
toString 返回函数的字符串表示
arguments对象
功能:存放实参列表
特性:
1.在函数声明时自动初始化
2.仅在函数体内使用
3.带有下标属性,但并非真数组
属性:
1.length 获取函数实参列表长度
2.callee 返回当前执行的函数,即指向函数自身引用
3.caller 事实上,指向调用当前函数的函数;即是指向函数呼叫者
函数参数
参数类型
1.形参:函数定义时使用的变量参数
2.实参:调用函数时传递给函数的实际参数
特点
1.参数个数没有限制:
(1)当实参<形参时,多余的形参==undefined
(2)当实参>形参时,多余的实参被忽略
2.参数的数据类型没有限制
3.通过arguments对象访问参数列表
4.参数始终按值传递:
(1)基本数据类型,传值
(2)引用类型,传地址
指针标识
this
指向当前操作对象
callee
指向参数集合所属函数
prototype
指向函数的原型对象
constructor
指向创建该对象的构造函数