l  创建自定义函数的三种方式

  • Ø 命名函数
  • Ø 匿名函数

²  Js引擎默认以命名函数的形式来解读函数,所以不能直接声明匿名函数,解决方法:

可以用变量、数组或对象等数据将匿名函数存储起来,例如button点击事件,以              及:

Var fn=function(a,b){

Consol.log(a,b);

Return a+b

}

fn(100,200)//对应调用

²  匿名函数的自调用(自执行匿名函数)

添加括号/减号/加号提升优先级,浏览器按匿名函数的语法解读,不会报错,但也          不会执行,只能执行一次,如果需要添加形参,在下列代码添加红色字体的内容既          可,解决方法:

(function(a,b){

Consol.log(“我是匿名函数”);

})(100,200);//在匿名函数之后再添加一个括号

  • Ø 构造函数

²  官方提供了专门创建函数的方法Function,语法:

Var fn=new Function(”a“,”b“,”console.log(‘我是匿名函数’,a,b);“);

//a和b为接收的参数,最后一个为执行语句

²  现在不会太使用此方法,因为此方法创建麻烦,而且比较占浏览器内存,运行速度慢;

 

 

函数封装的流程:

1.写特定功能的代码(先把需要封装的功能按正常逻辑流程写出来)

2.将完成特定功能的代码抽离出来,放在函数中,让其形成一个独立的实体,再起一个名字。

3.将可变参数改为形式参数,放在function自定义函数的小括号中

4.设置函数的返回值,用户可以自己通过return值定义函数执行的结果

5.函数的调用(使用),函数名();

l  关于函数的调用,每次调用函数,都会执行函数的上下文

l  函数中声明的变量(局部变量),只能再函数中生效,无法传递到函数外,这时就需要用到返回值。

l  Return a;返回值,返回函数执行的结果,如果不设置return,默认返回undefined。函数的返回值只能有一个,且return之后的语句不在执行

l  由于函数里的数值都是固定的,使用输出结果都是一样,这时可以将一些变量和数值设置为可变参数,即为让用户根据自己的实际需求,按顺序传入,这时就会用到形式参数。

l  形式参数为函数在封装过程中的假设性参数,Function add(a,b){...};即为如果用户传入了两个值(a和b),我们如何计算?

  • 实际参数为函数在调用过程中,实际传入的值(实际值是可以变化的)。当用户输入实际的数值后,调用函数的方式也会发生变化,需要把参数写在小括号中,假如用户传入两个数值100和两百时,调用函数即为add(100,200),其中100和200就为实际参数。

l  形式参数和实际参数一一对应

l  函数的优点:

  • 使程序变得跟简短且清晰
  • 有利于程序维护
  • 可以提高程序开发效率,并且提高了代码的重用性