函数
1.定义
2.函数的声明方式
1)以function关键字
2)以字面量形式声明(匿名函数)
3)实例化构造函数的方式
3.函数在页面加载的时候 以function关键字声明的会被优先解析
4.调用函数的方式
1)函数名() 变量名()
2)在事件后面调用
3)函数的自调用
5.参数
1)参数的个数可以有很多个
2)参数的类型可以是任意数据类型
3)把函数的功能变得更加多样化
4)参数的初始化 给参数定义默认的值
5)当实参的个数大于形参的个数
6)arguments对象
arguments[0]下标
arguments.length 参数的个数
arguments.callee 在函数的内部访问整个函数
7)模拟函数重载
console.log()
6.返回值
》1.将函数运行的结果保留下来 提供给后续代码使用
》2.函数可以没有返回值
》3.函数的返回值可以是各种类型的,包括空值
》4.函数体中return执行之后的代码都不再执行
》5.return返回值只能有一个
7.作用域
一段代码起作用的范围
全局环境 所有代码运行的地方 楼
函数环境 function(){}在函数体中的代码 教室
全局变量 在函数的外部定义的变量
局部变量 在函数的内部定义的变量
变量的作用域 就是在定义变量的环境当中的任意位置
1)全局变量不仅可以在函数外部使用也可以在函数内部使用
2)局部变量只能在函数内部使用
形参 相当于局部变量
同时能访问到局部变量和全局变量的时候 会使用局部变量
函数的作用域和变量一样
作用域链 所有的作用域可以看做使用一个链条连接起来的 访问变量的时候 会沿着这个链条一直往下找
8."use strict"对语法要求更严格
9.回调函数
把一个函数的指针做为另一个函数的参数,当调用这个参数的时候,这个函数就叫做回调函数。
function a(callback){
callback()
}
a(function(){})
10.递归函数
在函数的内部调用自己
特点:有参数 有判断
每次递归调用自己的时候参数都是有变化的
11.闭包函数/内嵌函数