- 函数:是由事件驱动或者被调用时,可以重复使用的代码 事件驱动:点击事件 鼠标移入事件 鼠标移出事件 被调用:sum();-->函数执行
- 函数的语法(基本语法) 定义: 关键字 函数名(){函数(函数体/函数代码)} function fnName(){......} 执行: 函数名(); fnName();
- 函数的特点: 1) 函数定义独立存在时没有意义,只有被调用的时候,才会实现函数的功能 2) 定义一个函数,可以多次被调用执行,并且每次调用执行都是独立的 3) 函数内的变量,在函数外是获取不到的 函数是引用数据类型 函数名中存的值是一个地址
- 闭包:函数在执行的时候,形成私有作用域,里面的变量就成为私有变量,外界获取不到,函数的这种保护机制,叫做闭包
- 函数的参数:可以让函数内获取函数外的值 形参:用来接收外界传递给函数的值 形参在函数定义部分 函数名后面的括号内 实参:用来定义要传递的值 实参在函数执行是 函数名后面的括号内 基本语法: function 函数名(形参1,形参2...){} 函数名(实参1,实参2...) 1) 函数可以不定义参数(形参和实参都不存在) 2) 函数如果定义形参而没有传递实参,那么形参获取到的是undefined 3) 函数如果只定义实参,而没有定义形参的时候,函数用arguments来接收实参
- 函数默认接收参数的对象--arguments 函数接收参数的方式有两种,第一种是人为定义形参,第二种是arguments arguments(参数集合)是一个对象 获取到的值会以类数组的形式储存[1,2,3,4,5] 类数组和数组一样,都有索引和长度,类数组中的每一个都是类数组的属性值,类数组的属性名为索引
- 外界如何获取到函数的返回值(是一个值,而不是返回变量) return 值; 1) return 后面可以有返回值,也可以没有返回值 2) 函数内出现return 函数内return后的代码就不会执行了
返回值会出现undefined有两种情况?
- 没有写return
- 写了return但没有赋值
是否要返回值?
“获取”需要返回值,“设置”不需要返回值;重点:
1) return 返回的是值,不是任何的变量 2) 函数名() 是函数的执行结果 3) 函数名相当于一个变量,是用来代表函数和储存函数的,函数名代表这个函数本身 4) return后不返回值的时候,函数执行结果接收到的是undefined// 任意数求和function sum() { var total=null; for(var i=0;i