Js函数
js函数
分类: 声明函数 匿名函数(表达式函数)
声明: Function 函数名(){ 函数体; [return ;] } function test(){ alert(111111111); }
特点: 1.允许有形参,不许其有默认值,若不传入对应实参,其形参默认值为undefined
2.允许对函数进行重新定义(重载),因函数声明后就有一同名变量表该函数,函数重名==变量重新赋值.
3函数内都有一对象(arguments),该对象存储所有传入的实参组成的数组
4.arguments对象成员1)[下标] 表示所有实参组成的数组,通过下标可以访问
2)Lenght属性 表示当前所有实参组成的数组长度
3)Callee属性表当前函数本身. Js的递归函数必用该属性代替函数名
5.查函数形参个数,函数外部可用函数名.length,函数内可用arguments.callee.length来获取
6.函数的感知功能。需用arguments.callee.caller方法来感知调用当前函数的函数
匿名函数 格式:Var 变量名=function(){ 函数体; [return ;] }
匿名函数和声明区别:加载方式不同,声明函数程序执行之前就已被加载到函数库,匿名函数顺序加载
函数的作用域问题:函数外部声明的变量就是全局变量
函数内部声明的变量就是局部变量(声明时必须使用var 修饰)
*声明变量时必用var修饰,函数内若不用var,该变量在ECMAscript3版本会变成一个 全局变量,在新ECMAscript5标准中是错误语法
作用域链: 多函数嵌套时,任意位置变量都会向更深层函数内部传递其值
内部函数:内部声明的就是内部函数,外部无法调用(内部函数==内部变量),只有函数内部可无序调用