函数的进阶

作者: hello1998 | 来源:发表于2019-01-31 16:43 被阅读48次

1.函数定义的两种方式:函数声明 和 函数表达式

函数声明和函数表达式的区别:

函数声明的函数必须要有名字,函数表达式可以没有名字。

函数声明会有函数提升,声明前后调用都可以

函数表达式类似于变量赋值,函数表达式定义的函数必须要在表达式之后执行之后才能调用

2.函数的调用

普通函数调用 构造函数的调用 对象方法的调用

3.函数内部this的指向

关键点:有没有调用,有没有对象的参与

普通函数内部的this指向:window

构造函数内部的this:指向的实例对象

方法内部的this指向:绑定该方法的对象

定时器内部this指向:window

事件绑定函数中this指向:该事件绑定的对象

4.函数也是对象(因此也和对象一样具备一些方法)

call方法(会立即调用函数,第一个函数改变函数内部this的指向,如果第一个参数指定了 null 或者 undefined 则内部 this 指向 window)

apply方法(会立即调用函数,第一个参数改变函数内部this的指向,第二个参数是以数组的形式传入到函数内部,如果第一个参数指定了 null 或者 undefined 则内部 this 指向 window)

bind方法(不会立即调用函数,可以改变函数内部this的指向,第一个参数改变函数内部this的指向,对于匿名函数后面点bind直接使用,对于有名字的函数,需要参数函数名来调用,然后返回一个新函数)

通过bind方法可以改变事件处理函数中this的指向

bind方式传参比较特殊,一共有两次机会可以传递函数:1.bind的时候传入参数 2.调用函数的时候传递参数,这两次传递的参数会进行合并,然后传入到函数内部,

5.函数的其他成员

arguments 实参的集合     caller 函数调用者   name函数的名字   length 形参的个数.

6.高阶函数

函数作为参数:在定时器当中,函数也作为了参数

函数作为返回值

7.闭包

闭包发生在函数嵌套,当内层函数想要访问外部函数的变量,函数执行完毕本应该被销毁的变量,并没有被销毁,内部函数还是可以访问外部函数的变量。但是正因为本该在函数执行完毕要销毁的变量没有被销毁,从而把变量存储到了内存当中,耗费了内存资源。

8.递归

函数递归就是函数自己调用自己,

在递归的过程中会出现差错,内存溢出,通常情况下要给出一个递归结束条件

递归的应用场景,对象的深拷贝,遍历DOM树

相关文章

  • python 函数进阶

    函数进阶 目标 函数参数和返回值的作用 函数的返回值 进阶 函数的参数 进阶 递归函数 01. 函数参数和返回值的...

  • python 函数进阶

    函数进阶 目标 函数参数和返回值的作用 函数的返回值 进阶 函数的参数 进阶 递归函数 01. 函数参数和返回值的...

  • Python函数高阶

    函数进阶 目标 函数参数和返回值的作用 函数的返回值 进阶 函数的参数 进阶 递归函数 01. 函数参数和返回值的...

  • 17 函数进阶

    函数进阶 目标 函数参数和返回值的作用 函数的返回值 进阶 函数的参数 进阶 递归函数 01. 函数参数和返回值的...

  • 06.1.Python函数续

    目标 函数参数和返回值的作用 函数的返回值 进阶 函数的参数 进阶 递归函数 01. 函数参数和返回值的作用 函数...

  • 11.Python函数续

    目标 函数参数和返回值的作用 函数的返回值 进阶 函数的参数 进阶 递归函数 01. 函数参数和返回值的作用 函数...

  • 10.Python函数续

    目标 函数参数和返回值的作用 函数的返回值 进阶 函数的参数 进阶 递归函数 01. 函数参数和返回值的作用 函数...

  • [Python基础]D10 函数进阶

    目标 函数参数和返回值的作用 函数的返回值 进阶 函数的参数 进阶 递归函数 01. 函数参数和返回值的作用 函数...

  • 07 C函数

    1、why函数? 2、函数进阶 3、递归函数

  • Python基础知识12: 函数的返回值和参数进阶

    一、内容总览 1.1、函数参数和函数返回值的作用 1.2、函数的返回值进阶 1.3、函数的参数进阶 1.4、递归函...

网友评论

    本文标题:函数的进阶

    本文链接:https://www.haomeiwen.com/subject/zzpksqtx.html