js_高级_函数进阶

1、函数的知识点

  a、函数声明:function 、函数表达式、new Function(这种方式几乎不用,不过通过这种方式我们认识到了函数也是对象)   

    ---function 定义的有名函数的变量声明和赋值都提前但是函数表达式的只会提升变量声明(和普通变量声明提前是一样)

        

 

   c、函数传参:基本类型作为参数、复杂类型作为参数---改变行参对实参是否有影响的问题

   d、函数返回值:有返回值、无返回值时返回值默认是undefined、返回值时复杂类型时(比如返回值时函数、对象)

   b、函数调用:函数名 ()   、对象中方法的调用、作为构造函数的调用、作为事件的处理函数、匿名函数自调用、 函数作为参数给别人调用(如 setInterval)等

     每一种调用形式函数中都有个this  ,不同的调用方式,函数中this的指向是不同的。

      1、!!谁调用了这个(函数)方法,那方法内部的this就指向谁

      

      

      2、改变函数中的this

      call  bind  applly 这3个方法是属性函数(方法)对象的

      

        call的应用

        

        apply的应用

      

      

 

 2、高阶函数---函数作为函数的参数或者返回值时

    a、函数作为参数

    

    模拟数组的排序方法

    

    

     b、函数作为返回值

    

 

    

 

    

posted @ 2019-05-28 21:59  buhuishuideyu  阅读(136)  评论(0编辑  收藏  举报