函数
实现代码的重复利用
两种声明方式
- 利用函数关键字自定义函数(命名函数)
- 函数表达式(匿名函数)
var 变量名 = function () {}
使用步骤
- 声明函数
- 调用函数
function 函数名 () { 函数体 }
注意:
- function声明函数的关键字,全部小写
- 函数是做某件事,函数名一般用动词
- 函数不调用自己不执行
调用函数
函数名();
函数的封装
- 函数的封装是把一个或多个功能通过函数的方式封装起来,对外只提供一个简单的函数接口
- 类似快递打包
函数的参数
形参和实参
function 函数名 (形参1,形参2...) {
//函数体
}
函数名 (实参1,实参2);
在声明函数时,可以小括号后面添加一些参数,这些参数称为形参,在调用该函数时,也需要传递相应的参数,这些参数称之为实参
参数作用:函数内部某些值不固定,可以通过参数在调用函数时传递不同的值进去
注意点:
- 多个参数之间用逗号隔开
- 形参可以看做是不用声明的变量
函数形参和实参个数不匹配问题
如果实参的个数多于形参的个数,会取到形参的个数
如果实参的个数小于形参的个数,多余的形参定义为undefined,最终的结果是NaN
小结
- 函数可以带参数也可以不带参数
- 声明函数时,函数名括号里是形参,默认值是undefined
- 调用函数时,函数名括号里面是实参
- 多个参数之间用逗号分隔
- 形参个数可以跟实参个数不匹配
函数的返回值
return语句
- 函数只是实现某种功能,最终结果需要返回给函数的调用者函数名()通过return
- 只要函数遇到return,就把结果返回给函数的调用者 函数名() = return后面的结果
在实际开发里面,经常用一个变量接收函数的返回值
return终止函数
return之后的代码不被执行
return的返回值
return只能返回一个值,如果用逗号隔开多个值,以最后一个为准
如果函数有return,返回return后面的值,如果函数么有return则返回undefined
break return continue的区别
- break:结束当前的循环体
- continue:跳出本次循环,继续执行下次循环
- return:不仅退出循环体,还能返回return语句中的值,同时还可以结束当前的函数体内的代码
arguments的使用
当不确定有多少给参数传递时,可以用arguments获取,在js中,arguments它是当前函数的一个内置对象。所有函数都内置了一个arguments对象,arguments对象存储了传递的所有实参
arguments展示形式是一个伪数组,可以进行遍历,具有以下特点:
- 具有length属性
- 按索引方式存储数据
- 不具有数组push、pop等方法
只有函数才有arguments对象
函数表达式方式声明函数
- fun是变量名,不是函数名
- 函数表达式声明方式跟声明变量差不多,不过变量里面存的值,函数表达式里面存的是函数
- 函数表达式也可以进行传递参数