本文实例分析了JavaScript中call和apply方法的区别。分享给大家供大家参考,具体如下:
这两个方法不经常用,但是在某些特殊场合中是非常有用的,下面主要说下它们的区别:
1、首先,JavaScript是一门面向对象的语言,也就是说它有this
的概念。而且JavaScript是一门动态类型语言,为什么说它是动态类型语言呢?因为JavaScript在编译时没有类型检查的过程,不会去检查创建的对象类型,也不会去检查传递的参数类型,所以它的变量类型在运行期间是可以改变的。
2、要知道call
和apply
都是为了改变某个函数运行时的上下文(context)而存在的,也就是为了改变函数,也可以说是对象(函数本身就是对象)内部this
的指向而存在的。
3、二者区别为:传参数的方式不一样,如下:
上面也很清楚了, 而 4、实例 调用: 解释:通过 更多关于JavaScript相关内容可查看本站专题:《》、《》、《》、《》及《用法总结》 希望本文所述对大家JavaScript程序设计有所帮助。call
传参数时,明确知道时几个参数或者参数较少时,比如
apply
第二个参数必须为一个数组,即将参数放进数组中即可。currying
(柯里化)的转化,在cost_
中传入参数时,未能得到值,而是将值存储起来,直到当无参数传入时,输出结果。