1.函数概念
就是封装了一段可以被重复执行的代码块 目的:就是让大量代码重复使用
2.函数分为 声明函数 和 调用函数
(1).声明函数
function 函数名(){
//函数体
}
function sayHi() {
console.log('hi~~~');
}
(2).调用函数
sayHi();
3.注意事项
(1) function 声明函数的关键字 全部小写
(2)函数是做某件事,函数名一般是动词 sayHi
(3) 函数不调用,自己不执行
(4)调用函数的时候千万不要忘记加小括号
4.利用函数的参数实现函数重复不同的代码
function 函数名 (形参1,形参2,...) {
//在声明函数小括号里面的是形参(形式上的参数)
}
函数名(实参1,实参2...);//在函数调用的小括号里面的是实参(实际的参数)
形参和实参的执行过程
function cook(aru) { //形参是接受实参的 aru = '酸辣土豆丝' 形参类似于一个变量
console.log(aru);
}
cook('酸辣土豆丝');
cook('大肘子');
5. 函数的参数可以有,也可以没有个数不限
6.参数的作用:
在函数内部某些值不固定的时候 ,我们可以通过参数在调用函数时传递不同的值进去
7.注意点:
(1) 多个参数之间用逗号隔开
(2) 形参可以看作不用声明的变量
8.函数形参实参个数不匹配
(1)如果实参的个数和形参的个数一致 则正常输出结果
(2)如果实参的个数多于形参的个数 会取到形参的个数
(3)如果实参的个数小于形参的个数 多余的形参定义为underfiend 最终结果就是 NaN
(4)形参可以看做是不用声明的变量 num2 是一个变量但是没有接受值 结果就是undefiend
(5)建议 我们尽量让形参的个数和实参相匹配
function getSum( num1 , num2 ) {
console.log( num1 + num2 );
}
getSum( 1 , 2 );
getSum( 1 , 2 , 3 );//3
getSum(1);//NaN
9.return 语句
(1)函数的返回值格式
funstion 函数名() {
return 需要返回的结果;
}
(2)函数名();
我们函数只是实现某种功能,最终的结果需要返回给函数的调用者函数名() 通过return 实现的
只要函数遇到return 就把后面的结果 返回给函数的调用者 函数名() = return后面的结果
function getResult() {
return 666;
}
getResult(); // getResult() = 666
console.log( getResult() );
10. getArrMax( 【5,2,99,101,67,77】 );//实参是一个数组送进去
在实际开发里面,我们经常用一个变量来接受 函数的返回结果 使用更简单
var re = getArrMax( [5,2,99,101,67,77] );
console.log( re );
11. 我们的函数如果有return 则返回的是 return 后面的值,如果函数没有 return 则返回undefiend
function fun1 () {
return 666;
}
console.log(fun1());//666
function fun2 () {
}
console.log(fun2());//undefiend
12. break ,continue ,return 的区别
break:结束当前的循环体(如for 、while)
continue:跳出本次循环,继续执行下次循环(如:for , while)
return:不仅可退出循环 ,还能够返回return语句中的值,同时还可以结束当前的函数体内的代码
13. 通过榨汁机看透函数
输入参数 内部处理 返回结果
14. arguments的使用 只有函数才有 arguments 对象 而且是每个函数都内置好了这个arguments
function fn() {
console.log(arguments);//里面存储了所有传递过来的实参
console.log(arguments.length);
//我们可以按照数组的方式遍历arguments
for ( var i = 0 ; i <= arguments.length;i++) {
console.log(arguments.length);
}
}
fn(1,2,3)
15. arguments伪数组 并不是真正意义上的数组
(1). 具有数组的length 属性
(2). 按照索引的方式进行存储的
(3). 它没有正真数组的一些方法 pop() push()等
16. 函数式可以相互调用的
function fn1( ){
console.log(11);
fn2();//在fn1 函数里面调用了 fn2 函数
}
fn1();
function fn2(){
console.log(22);
}
17. 函数中两种声明方式
(1).利用函数关键字自定义函数(命名函数)
function fn() {
}
fn();
(2).函数表达式(匿名函数)
//var 变量名 = function() {};
var fun = function(aru) {
console.log('我是函数表达式');
console.log(aru);
}
fun(1231);
fun是变量名
函数表达式声明方式跟声明变量差不多,只不过变量里面存的是值,而 函数表达式里面存的是函数
函数表达式也可以进行传递参数