函数

函数也是对象,函数的作用是为了代码的复用

函数不调用时,里面的代码不执行.

函数的三要素

  • 函数名        一个函数的名称           (调用函数用函数名)
  • 参数           传给一个函数的值

               写在函数体上的叫做形式参数(形参)

               形参,可写,可不写.(相当于在函数中申明了变量)  

               调用函数时在括号中传入的具体数值叫做实际参数

               实参是给形参赋值      

  • 返回值

                如果不写return则默认返回undefined

                如果写了return但return后面没有值,也返回undefined

                如果写了return,后面跟着值,则返回这个值

                如果return后面写表达式,则先计算表达式,然后将表达式的结果返回

使用function关键字定义一个函数

function 函数名(参数1,参数2,参数3){
  return 要返回的值;
}

函数声明和函数表达式

  声明的函数,函数会提升,当函数和变量名重复,函数会覆盖变量

function a(){
  
}

  函数表达式  不会提升

1 var a = function(){
2   
3 }

匿名函数

没有名字的函数叫做匿名函数.主要用于回调或自调用函数,回调处不需要定义函数名.

看一下代码示例,可以发现,函数的三要素:函数名,参数,返回值都可以不写

function(){
  
}

函数的调用

函数声明,函数里面的函数是不会执行的,只有在调用函数时,函数里面的代码才会执行.

那么如何调用呢?

function add(x,y){   //定义函数时,函数中写的x,y叫做形式参数
  console.log(x+y);
}
//调用函数:函数名();
add(1,2);           //调用函数时,括号中写的数据叫做实际参数(实参)

/*
注意:
    调用函数时,如果不写实际参数,默认传进去的是undefined
*/

自调用函数(自执行函数)

//第一种写法  
var res = (function(a,b){
  return a+b;
})(2,4);
console.log(res);  //6

//第二种写法  
var result = (function(a,b){
  return a + b;
}(2,5))
console.log(result);  //7

/*自调用函数时,后面这个括号用于传递实参*/

回调函数

 1 //add 是声明的函数
 2 function add(x,y,fn){  // x,y 为形参
 3   //分析:
 4   // var x = x1;
 5   // var y = y1;
 6   // var fn;
 7   // fn = function(a,b){
 8   //   var a;
 9   //   var b;
10   //   return a + b;
11   // }
12   return fn(x,y);  //此时x,y 为实参 即 fn(x1,y1)   结果为x1加y1的值;
13 }
14 
15 var result = add(x1,y1,function(a,b){  //x1,y1在这里为写入的实际参数即实参.
16   return a + b;
17 })
18 console.log(result);  //打印的是x1加y1的值

 

posted @ 2017-08-24 13:36  Sweet's  阅读(129)  评论(0编辑  收藏  举报