js学习笔记-引用类型(Function类型)

1、函数声明与函数表达式的区别

    函数声明可以将函数的使用提升到函数所在语句之前,而函数表达式则不行,必须要在函数所在语句之后使用,否则会报“unexpected identifier”错误。

以下是实例:

(1)a();//  正确运行,返回hello

    function a (){

        return “hello”

    }

(2)a(); //报错unexcepted identify

        var a = function (){

          return “hello”

        }

2、函数内部属性,arguments和this

(1)arguments: 是一个类数组对象,包含着传入函数中的所有参数,主要用来保存函数参数,它有一个叫callee的属性,callee是一个指针,指向拥有这个arguments对象的函数;

(2)this:函数执行的环境对象(js中的一个重点,会单独分析)

3、apply()和call()

apply()和call()是每个函数都包含的两个非继承而来的方法,call和apply最大的用途是用来绑定函数的this指向,这样做的好处是解除对象和方法之间的耦合。

apply()和call()存在的唯一区别就是传参方式不同,call()必须明确的传入每一个参数,形如say.call(this, 参数1,参数2,参数3,...),而apply()则可以直接传入arguments对象或数组,如say.apply(this, arguments)或say.apply(this, [参数1,参数2,参数3,...])

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容